
/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: bool make_toc_relative(Powerpc_relobj<64,_true> * this,
   Target_powerpc<64,_true> * target, Address * value) */

bool __thiscall
anon_unknown.dwarf_2af53c::Powerpc_relobj<64,_true>::make_toc_relative
          (Powerpc_relobj<64,_true> *this,Target_powerpc<64,_true> *target,Address *value)

{
  byte bVar1;
  pointer puVar2;
  int iVar3;
  Input_file *pIVar4;
  Input_file *pIVar5;
  int iVar6;
  Sized_relobj_file<64,_true> *in_EAX;
  uint uVar7;
  uint uVar8;
  uchar *puVar9;
  uint *in_ECX;
  uint uVar10;
  int in_EDX;
  uint uVar11;
  Elf_WXword EVar12;
  Target_powerpc<64,_true> *in_stack_ffffffb4;
  section_size_type vlen;
  
  uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.field_2.
           _M_allocated_capacity;
  if (uVar11 != 0) {
    puVar2 = (in_EAX->super_Sized_relobj<64,_true>).section_offsets_.
             super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.
             _M_impl._M_start;
    uVar7 = *in_ECX + 0x8000;
    if ((uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.
                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>
                    ._M_impl._M_finish - (int)puVar2 >> 3) <= uVar11) {
                    /* WARNING: Subroutine does not return */
      gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");
    }
    uVar8 = uVar7 - (uint)puVar2[uVar11];
    uVar7 = ((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)) -
            (uint)(uVar7 < (uint)puVar2[uVar11]);
    EVar12 = elfcpp::Elf_file<64,_true,_gold::Object>::section_size(&in_EAX->elf_file_,uVar11);
    uVar11 = (uint)(EVar12 >> 0x20);
    if (uVar7 < uVar11 || uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12)) {
      iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.
                             field_2 + 0xc);
      pIVar4 = *(Input_file **)
                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)
      ;
      pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_;
      iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_;
      if (((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||
         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,
          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&
          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))) {
        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view
                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.
                                   name_.field_2._M_allocated_capacity,&vlen);
        uVar11 = *(uint *)(puVar9 + uVar8);
        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);
        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
        if (*(int *)(in_EDX + 0x14) == 0) {
                    /* WARNING: Subroutine does not return */
          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);
        }
        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);
        bVar1 = *(byte *)(iVar3 + 0x1c);
        if ((bVar1 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");
        }
        uVar8 = uVar7 - *(uint *)(iVar3 + 4);
        uVar10 = uVar8 - 0x8000;
        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |
                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +
                 -1 + (uint)(0x7fff < uVar8);
        if (uVar11 + (0x7fff7fff < uVar10) == 0) {
          *in_ECX = uVar10;
          in_ECX[1] = uVar11;
          return (bool)(bVar1 & 1);
        }
      }
    }
  }
  return false;
}



/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Removing unreachable block (ram,0x000872f8) */
/* WARNING: Removing unreachable block (ram,0x0008730c) */
/* WARNING: Removing unreachable block (ram,0x0008580a) */
/* WARNING: Removing unreachable block (ram,0x00087318) */
/* WARNING: Removing unreachable block (ram,0x0008734c) */
/* WARNING: Removing unreachable block (ram,0x00086a80) */
/* WARNING: Removing unreachable block (ram,0x00086ab4) */
/* WARNING: Removing unreachable block (ram,0x00086abf) */
/* WARNING: Removing unreachable block (ram,0x000871d8) */
/* WARNING: Removing unreachable block (ram,0x000871ec) */
/* WARNING: Removing unreachable block (ram,0x00087200) */
/* WARNING: Removing unreachable block (ram,0x0008720a) */
/* WARNING: Removing unreachable block (ram,0x00087210) */
/* WARNING: Removing unreachable block (ram,0x00087224) */
/* WARNING: Removing unreachable block (ram,0x00087450) */
/* WARNING: Removing unreachable block (ram,0x00087463) */
/* WARNING: Removing unreachable block (ram,0x00087479) */
/* WARNING: Type propagation algorithm not settling */

Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)

{
  char *pcVar1;
  uint *puVar2;
  code *pcVar3;
  int *piVar4;
  int iVar5;
  ushort uVar6;
  bool bVar7;
  bool bVar8;
  longlong lVar9;
  ulonglong uVar10;
  ulonglong uVar11;
  undefined1 uVar13;
  ushort uVar14;
  char cVar12;
  int iVar15;
  uint uVar16;
  Elf32_Ehdr *pEVar17;
  undefined4 uVar18;
  undefined4 uVar19;
  int iVar20;
  undefined1 *puVar21;
  undefined4 uVar22;
  dword *pdVar23;
  word *pwVar24;
  int *piVar25;
  uint uVar26;
  int *extraout_ECX;
  int *extraout_ECX_00;
  undefined4 extraout_ECX_01;
  int *extraout_ECX_02;
  undefined4 extraout_ECX_03;
  byte bVar27;
  byte bVar28;
  Elf32_Ehdr *pEVar29;
  undefined4 extraout_EDX;
  undefined3 uVar32;
  uint extraout_EDX_00;
  uint extraout_EDX_01;
  undefined4 extraout_EDX_02;
  undefined *puVar30;
  uint uVar31;
  undefined4 extraout_EDX_03;
  byte *pbVar33;
  undefined1 *puVar34;
  undefined1 *puVar35;
  uint uVar36;
  byte *pbVar37;
  Elf32_Ehdr *pEVar38;
  dword dVar39;
  uint uVar40;
  byte *pbVar41;
  Elf32_Ehdr *pEVar42;
  Elf32_Ehdr *pEVar43;
  Elf32_Ehdr *pEVar44;
  bool bVar45;
  bool bVar46;
  bool bVar47;
  bool bVar48;
  bool bVar49;
  byte bVar50;
  undefined8 uVar51;
  longlong lVar52;
  ulonglong uVar53;
  undefined1 auStack_1e8 [8];
  undefined4 uStack_1e0;
  Elf32_Ehdr *pEStack_1dc;
  uint uStack_1d8;
  int iStack_1d4;
  uint uStack_1d0;
  byte *pbStack_1cc;
  Elf32_Ehdr *pEStack_1c8;
  Elf32_Ehdr *pEStack_1c4;
  uint uStack_1c0;
  int iStack_1bc;
  word *pwStack_1b8;
  char cStack_1b2;
  char cStack_1b1;
  uint uStack_1b0;
  undefined4 uStack_1ac;
  Elf32_Ehdr *pEStack_1a8;
  Elf32_Ehdr *pEStack_1a4;
  uint uStack_1a0;
  int iStack_19c;
  dword *pdStack_198;
  undefined *puStack_194;
  uint uStack_190;
  int *piStack_18c;
  dword *pdStack_188;
  dword *pdStack_184;
  int iStack_180;
  Elf32_Ehdr *pEStack_17c;
  Elf32_Ehdr *pEStack_178;
  Elf32_Ehdr *pEStack_174;
  Elf32_Ehdr *pEStack_170;
  Elf32_Ehdr *pEStack_16c;
  Elf32_Ehdr *pEStack_168;
  int iStack_164;
  Elf32_Ehdr *pEStack_160;
  Elf32_Ehdr *pEStack_158;
  Elf32_Ehdr *pEStack_154;
  int iStack_14c;
  undefined1 uStack_13d;
  int iStack_13c;
  undefined *puStack_138;
  undefined1 auStack_134 [4];
  undefined1 auStack_130 [8];
  undefined8 uStack_128;
  undefined8 uStack_120;
  Elf32_Ehdr EStack_104;
  undefined *puStack_d0;
  dword adStack_cc [5];
  undefined1 *apuStack_b8 [2];
  undefined1 auStack_b0 [16];
  char acStack_a0 [28];
  Elf32_Ehdr *pEStack_84;
  Elf32_Ehdr *pEStack_80;
  undefined1 auStack_7c [8];
  Elf32_Ehdr *pEStack_74;
  dword dStack_60;
  undefined **ppuStack_5c;
  uint *puStack_58;
  undefined **ppuStack_54;
  Elf32_Ehdr *pEStack_50;
  int iStack_48;
  Elf32_Ehdr *local_44;
  uint local_40;
  uint *puStack_3c;
  undefined **local_38;
  int local_34;
  int local_30;
  int iStack_2c;
  uint uStack_28;
  int iStack_24;
  uint local_20;
  int *piStack_1c;
  
  bVar50 = 0;
  local_38 = &__DT_PLTGOT;
  puStack_58 = *(uint **)(param_1 + 0x148);
  if (puStack_58 != (uint *)0x0) {
    iVar20 = *(int *)(param_1 + 0x84);
    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);
    local_30 = param_2;
    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {
      ppuStack_54 = (undefined **)0x2f6020;
      ppuStack_5c = (undefined **)0x2f6e48;
      puStack_58 = (uint *)0x7f7;
                    /* WARNING: Subroutine does not return */
      dStack_60 = 0x83bdc;
      FUN_000da200();
    }
    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);
    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);
    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -
               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);
    ppuStack_5c = (undefined **)(param_1 + 0x90);
    dStack_60 = 0x83ace;
    uVar51 = FUN_000b20e0();
    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);
    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {
      iVar20 = *(int *)(param_1 + 0x154);
      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||
         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {
        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;
        uVar36 = local_40 >> 3;
        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +
                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {
          return (Elf32_Ehdr *)0x0;
        }
        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0
           ) {
          return (Elf32_Ehdr *)0x0;
        }
      }
      ppuStack_54 = (undefined **)&local_20;
      puStack_58 = *(uint **)(param_1 + 0x148);
      dStack_60 = 0x83b5e;
      ppuStack_5c = (undefined **)param_1;
      local_34 = iVar20;
      iVar15 = FUN_001b2c60();
      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);
      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);
      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;
      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;
      if (*(int *)(local_30 + 0x14) == 0) {
        pEStack_50 = (Elf32_Ehdr *)0x83bfe;
        FUN_00051e10();
        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;
        uStack_1c0 = uStack_28;
        iStack_1bc = iStack_24;
        cStack_1b2 = (char)local_30;
        ppuStack_5c = (undefined **)uVar40;
        puStack_58 = param_3;
        ppuStack_54 = (undefined **)iVar20;
        pEStack_50 = (Elf32_Ehdr *)uVar36;
        if (local_40 != 4) {
                    /* WARNING: Subroutine does not return */
          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);
        }
        EStack_104.e_type = 0;
        EStack_104.e_machine = 0;
        EStack_104.e_version = 0;
        piStack_18c = *(int **)&local_44->e_ident_abiversion;
        EStack_104.e_entry = 0;
        EStack_104.e_phoff = 0;
        EStack_104.e_shoff = 0;
        pcVar3 = *(code **)(*piStack_18c + 0x8c);
        if (pcVar3 == FUN_000a42b0) {
          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);
        }
        else {
          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);
        }
        puVar35 = auStack_1e8;
        pEStack_1c4 = pEVar17;
        puVar2 = puStack_3c;
        if (local_38 == (undefined **)0x0) {
LAB_000865b0:
          puStack_3c = puVar2;
          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))
          {
            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;
            *(undefined4 *)(puVar35 + -0x14) = 0x865db;
            uVar18 = gettext();
            *(undefined4 *)(puVar35 + -0x10) = uVar18;
            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;
            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;
            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;
            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;
            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;
            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();
          }
          return pEVar17;
        }
        uVar36 = puStack_3c[1];
        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18
        ;
        puVar35 = auStack_1e8;
        if (*puStack_3c == 0) {
          iStack_180 = 0;
          pEStack_170 = (Elf32_Ehdr *)0x0;
          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;
          puVar35 = auStack_1e8;
          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;
          do {
            uStack_190 = uVar36;
            if (cStack_1b2 == '\0') {
LAB_00083ea0:
              uVar36 = puStack_3c[2];
              puStack_d0 = (undefined *)0x0;
              EStack_104.e_flags = 0;
              EStack_104.e_ehsize = 0xffff;
              EStack_104.e_phentsize = 0xffff;
              pEStack_160 = (Elf32_Ehdr *)
                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                            uVar36 << 0x18);
              EStack_104.e_phnum = 0;
              EStack_104.e_shentsize = 0x8000;
              EStack_104.e_shnum = 0;
              EStack_104.e_shstrndx = 0;
              if (pEStack_160 < pEStack_1c4) {
                if ((piStack_1c != (int *)0x0) &&
                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),
                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;
                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];
                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=
                    pEStack_160) {
                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;
                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;
                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;
                  FUN_000da200();
                }
                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);
                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);
                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||
                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {
LAB_00084caa:
                  pEStack_158 = (Elf32_Ehdr *)0x0;
                  goto LAB_00083dc2;
                }
                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];
                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);
                if (pEVar17 <= pEStack_168) goto LAB_00087e08;
                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);
                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;
                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;
                *(int **)(puVar35 + -0xc) = piStack_18c;
                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;
                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;
                cVar12 = FUN_001e6ec0();
                if (cVar12 != '\0') goto LAB_00083dc2;
LAB_00084d30:
                pdStack_184 = &EStack_104.e_flags;
                adStack_cc[0] = 0;
                adStack_cc[1] = 0xffffffff;
                adStack_cc[2] = 0x80000000;
                adStack_cc[3] = 0;
                pcVar3 = *(code **)(*piStack_18c + 0x40);
                adStack_cc[4] = 0;
                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {
                  *(dword *)(puVar35 + -8) = local_44->e_entry;
                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;
                  pdStack_198 = adStack_cc;
                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;
                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;
                  FUN_000b0fc0();
                }
                else {
                  *(dword *)(puVar35 + -8) = local_44->e_entry;
                  pdStack_198 = adStack_cc;
                  *(int **)(puVar35 + -0xc) = piStack_18c;
                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;
                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;
                  (*pcVar3)();
                }
                puVar34 = puVar35 + -4;
                bVar45 = false;
                bVar48 = iStack_180 == 0;
                if (bVar48) {
                  iVar20 = 6;
                  pEVar17 = pEStack_84;
                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);
                  do {
                    if (iVar20 == 0) break;
                    iVar20 = iVar20 + -1;
                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;
                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;
                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                  } while (bVar48);
                  bVar46 = false;
                  bVar45 = (!bVar45 && !bVar48) == bVar45;
                  if (!bVar45) {
                    iVar20 = 7;
                    pEVar17 = pEStack_84;
                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);
                    do {
                      if (iVar20 == 0) break;
                      iVar20 = iVar20 + -1;
                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                    } while (bVar45);
                    bVar48 = false;
                    bVar45 = (!bVar46 && !bVar45) == bVar46;
                    if (!bVar45) {
                      iVar20 = 0x11;
                      pEVar17 = pEStack_84;
                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);
                      do {
                        if (iVar20 == 0) break;
                        iVar20 = iVar20 + -1;
                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;
                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                      } while (bVar45);
                      bVar46 = false;
                      bVar45 = (!bVar48 && !bVar45) == bVar48;
                      if (!bVar45) {
                        iVar20 = 5;
                        pEVar17 = pEStack_84;
                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;
                        do {
                          if (iVar20 == 0) break;
                          iVar20 = iVar20 + -1;
                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                        } while (bVar45);
                        bVar48 = false;
                        bVar45 = (!bVar46 && !bVar45) == bVar46;
                        if (!bVar45) {
                          iVar20 = 5;
                          pEVar17 = pEStack_84;
                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);
                          do {
                            if (iVar20 == 0) break;
                            iVar20 = iVar20 + -1;
                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;
                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                          } while (bVar45);
                          bVar46 = false;
                          bVar45 = (!bVar48 && !bVar45) == bVar48;
                          if (!bVar45) {
                            iVar20 = 4;
                            pEVar17 = pEStack_84;
                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);
                            do {
                              if (iVar20 == 0) break;
                              iVar20 = iVar20 + -1;
                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                            } while (bVar45);
                            bVar48 = false;
                            bVar45 = (!bVar46 && !bVar45) == bVar46;
                            if (!bVar45) {
                              iVar20 = 10;
                              pEVar17 = pEStack_84;
                              pwVar24 = &pEStack_154[-0x5774].e_shnum;
                              do {
                                if (iVar20 == 0) break;
                                iVar20 = iVar20 + -1;
                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;
                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;
                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);
                              } while (bVar45);
                              bVar46 = false;
                              bVar45 = (!bVar48 && !bVar45) == bVar48;
                              if (!bVar45) {
                                iVar20 = 0x12;
                                pEVar17 = pEStack_84;
                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;
                                do {
                                  if (iVar20 == 0) break;
                                  iVar20 = iVar20 + -1;
                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;
                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;
                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);
                                } while (bVar45);
                                bVar48 = false;
                                bVar45 = (!bVar46 && !bVar45) == bVar46;
                                if (!bVar45) {
                                  iVar20 = 5;
                                  pEVar17 = pEStack_84;
                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;
                                  do {
                                    if (iVar20 == 0) break;
                                    iVar20 = iVar20 + -1;
                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;
                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                  } while (bVar45);
                                  bVar46 = false;
                                  bVar45 = (!bVar48 && !bVar45) == bVar48;
                                  if (!bVar45) {
                                    iVar20 = 5;
                                    pEVar17 = pEStack_84;
                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;
                                    do {
                                      if (iVar20 == 0) break;
                                      iVar20 = iVar20 + -1;
                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)
                                      ;
                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                    } while (bVar45);
                                    bVar48 = false;
                                    bVar45 = (!bVar46 && !bVar45) == bVar46;
                                    if (!bVar45) {
                                      iVar20 = 6;
                                      pEVar17 = pEStack_84;
                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;
                                      do {
                                        if (iVar20 == 0) break;
                                        iVar20 = iVar20 + -1;
                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;
                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;
                                        pEVar17 = (Elf32_Ehdr *)
                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);
                                      } while (bVar45);
                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;
                                    }
                                  }
                                }
                              }
                              goto LAB_0008507a;
                            }
                          }
                        }
                      }
                    }
                  }
LAB_00084dd1:
                  *(char **)(puVar35 + -8) = acStack_a0;
                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;
                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;
                  *(int **)(puVar35 + -0x14) = piStack_18c;
                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;
                  uVar51 = FUN_00129620();
                  adStack_cc[3] = 0;
                  adStack_cc[4] = 0;
                  if (acStack_a0[0] != '\0') {
                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];
                    adStack_cc[4] =
                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +
                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);
                  }
                  iStack_180 = 1;
                  puVar35 = puVar35 + -4;
                }
                else {
                  if (iStack_180 == 1) goto LAB_00084dd1;
                  if (iStack_180 == 3) {
LAB_00084fa5:
                    uVar18._0_1_ = local_44->e_ident_abiversion;
                    uVar18._1_1_ = local_44->e_ident_pad[0];
                    uVar18._2_1_ = local_44->e_ident_pad[1];
                    uVar18._3_1_ = local_44->e_ident_pad[2];
                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;
                      *(undefined4 *)(puVar35 + -0x14) = uVar18;
                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;
                      uVar19 = FUN_00130d00();
                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;
                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;
                      uVar22 = gettext();
                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;
                      *(undefined4 *)(puVar35 + -0x10) = uVar19;
                      *(undefined4 *)(puVar35 + -0x14) = uVar22;
                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;
                      *(uint *)(puVar35 + -0x1c) = uStack_190;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;
                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;
                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;
                      FUN_000d1b10();
                      puVar34 = puVar35 + -4;
                    }
                    else {
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;
                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;
                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;
                      FUN_001e7ee0();
                      puVar21 = apuStack_b8[0];
                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;
                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;
                      uVar19 = gettext();
                      *(undefined1 **)(puVar35 + -0x14) = puVar21;
                      *(undefined4 *)(puVar35 + -0x18) = uVar19;
                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;
                      *(uint *)(puVar35 + -0x20) = uStack_190;
                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;
                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;
                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;
                      FUN_000d1b10();
                      puVar34 = puVar35 + -8;
                      if (apuStack_b8[0] != auStack_b0) {
                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];
                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;
                        FUN_00248220();
                        puVar34 = puVar35 + -8;
                      }
                    }
                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;
                    *(undefined1 **)(puVar34 + -8) = auStack_130;
                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;
                    *(undefined4 *)(puVar34 + -0x10) = uVar18;
                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;
                    iVar20 = FUN_00130350();
                    if (iVar20 != 0) {
                      *(int **)(puVar34 + -8) = &iStack_13c;
                      *(int *)(puVar34 + -0xc) = iVar20;
                      *(undefined4 *)(puVar34 + -0x10) = uVar18;
                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;
                      iVar20 = FUN_001298b0();
                      if (iStack_13c != 0) {
                        *(int *)(puVar34 + -0xc) = iStack_13c;
                        *(undefined4 *)(puVar34 + -0x10) = uVar18;
                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;
                        uVar18 = FUN_00130d00();
                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;
                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;
                        uVar19 = gettext();
                        *(undefined4 *)(puVar34 + -0xc) = uVar18;
                        *(undefined4 *)(puVar34 + -0x10) = uVar19;
                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;
                        FUN_000d1390();
                      }
                      if (iVar20 != 0) {
                        uVar18 = *(undefined4 *)(iVar20 + 4);
                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;
                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;
                        uVar19 = gettext();
                        *(undefined4 *)(puVar34 + -0xc) = uVar18;
                        *(undefined4 *)(puVar34 + -0x10) = uVar19;
                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;
                        FUN_000d1390();
                      }
                    }
                    iStack_180 = 3;
                  }
                  else {
LAB_0008507a:
                    iStack_180 = 2;
                  }
                  adStack_cc[3] = 0;
                  adStack_cc[4] = 0;
                  puVar35 = puVar34;
                }
                if (adStack_cc[0] != 0) {
                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;
                  *(undefined4 *)(puVar35 + -0xc) = 0x716;
                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;
                  FUN_000da200();
                }
                adStack_cc[0] = 0xffffffff;
                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {
                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;
                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;
                  FUN_00248220();
                }
                pdStack_188 = adStack_cc;
              }
              else {
                if ((piStack_1c == (int *)0x0) ||
                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),
                   pEStack_158 == (Elf32_Ehdr *)0x0)) {
                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {
LAB_000879e0:
                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;
                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;
                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;
                    FUN_000da200();
                  }
                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];
                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];
                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {
                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;
                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;
                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;
                    FUN_000da200();
                  }
                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);
                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;
                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;
                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;
                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;
                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;
                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();
                  dVar39 = *(dword *)&pEStack_158->e_type;
                  uVar36 = dVar39 - 1;
                  if (0xfffffffd < uVar36) {
                    if (EStack_104.e_flags != 0) {
                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;
                      *(undefined4 *)(puVar35 + -0xc) = 0x716;
                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;
                      FUN_000da200();
                    }
                    goto LAB_00083d3c;
                  }
                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))
                  goto LAB_00087c11;
LAB_00084c30:
                  if (uVar36 == 0xfffffffd) {
                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;
                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;
                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;
                    FUN_000da200();
                  }
                }
                else {
LAB_00083d27:
                  dVar39 = *(dword *)&pEStack_158->e_type;
                  uVar36 = dVar39 - 1;
                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;
LAB_00083d3c:
                  EStack_104.e_flags = 0xffffffff;
                  dVar39 = EStack_104.e_flags;
                }
                EStack_104.e_flags = dVar39;
                EStack_104.e_shnum = pEStack_158->e_shnum;
                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;
                puStack_d0 = *(undefined **)(pEStack_158 + 1);
                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;
                if (bVar27 == 6) {
                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;
                }
                else if (bVar27 == 10) {
                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;
                }
                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                if ((char)bVar27 < '\0') {
                  bVar28 = (byte)pEStack_158->e_phentsize;
                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);
                  if ((bVar28 & 7) == 0) {
                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {
LAB_00085168:
                      pEStack_168 = (Elf32_Ehdr *)0x0;
                      pdStack_188 = &EStack_104.e_flags;
                      goto LAB_00084d30;
                    }
                  }
                  else if ((bVar28 & 7) == 4) goto LAB_00085168;
                }
                pdStack_188 = &EStack_104.e_flags;
LAB_00083dc2:
                pdStack_184 = &EStack_104.e_flags;
                adStack_cc[0] = 0;
                adStack_cc[1] = 0xffffffff;
                adStack_cc[2] = 0x80000000;
                adStack_cc[3] = 0;
                adStack_cc[4] = 0;
              }
              uVar18 = EStack_104._16_4_;
              pEVar17 = pEStack_154;
              pdStack_198 = adStack_cc;
              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);
              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);
              if (bVar27 == 0) {
                uStack_1a0 = uStack_190 + uStack_1c0;
                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +
                             (uint)CARRY4(uStack_190,uStack_1c0);
                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);
                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;
                uVar36 = puStack_3c[3];
                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);
                pEVar29 = (Elf32_Ehdr *)
                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                          uVar36 << 0x18);
                pwStack_1b8 = &pEVar29[-1].e_phentsize;
                uVar36 = puStack_3c[2];
                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);
                pEStack_1a8 = (Elf32_Ehdr *)
                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                              uVar36 << 0x18);
                pEVar42 = pEVar29;
                pEStack_174 = pEVar29;
                pEStack_168 = pEVar29;
                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&
                   (pEVar44 != (Elf32_Ehdr *)0x0)) {
                  pEStack_16c = pEVar44;
                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {
                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&
                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;
LAB_00084bc8:
                    if ((pEVar44 == pEStack_16c) ||
                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;
                    EStack_104.e_type = 0;
                    EStack_104.e_machine = 0;
                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))
                    {
LAB_00084ac0:
                      EStack_104.e_type = 0;
                      EStack_104.e_machine = 0;
                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;
                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;
                      uVar18 = gettext();
                      *(undefined4 *)(puVar35 + -0x10) = uVar18;
                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;
                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;
                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;
                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;
                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;
                      FUN_000d1b10();
                      uVar36 = puStack_3c[2];
                      pEStack_1a8 = (Elf32_Ehdr *)
                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);
                      pEVar42 = pEVar17;
                      goto LAB_00084a35;
                    }
LAB_00084621:
                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                    pEStack_17c = pEStack_1a8;
LAB_00084647:
                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;
                    *(undefined4 *)(puVar35 + -4) = 0x84655;
                    pEStack_1a8 = pEStack_17c;
                    uVar18 = FUN_0004d6c0();
                    *(undefined4 *)(puVar35 + -0xc) = uVar18;
                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;
                    uVar13 = FUN_000a7d80();
                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);
                    uVar18 = extraout_EDX;
                    pEVar29 = pEVar42;
                    goto LAB_0008466d;
                  }
                  pEVar42 = (Elf32_Ehdr *)0x0;
LAB_00084065:
                  EStack_104.e_type = 0;
                  EStack_104.e_machine = 0;
                  if (uVar18 == 1) {
                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                    pEVar42 = local_44;
                    pEStack_17c = pEStack_1a8;
                    goto LAB_00084647;
                  }
                  if (uVar18 == 0) {
                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;
                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;
                    uVar18 = gettext();
                    uVar36 = *puStack_3c;
                    uVar40 = puStack_3c[1];
                    *(undefined4 *)(puVar35 + -0x10) = uVar18;
                    *(uint *)(puVar35 + -0x14) =
                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18;
                    *(uint *)(puVar35 + -0x18) =
                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18;
                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;
                    FUN_000d1b10();
                    uVar36 = puStack_3c[2];
                    pEStack_1a8 = (Elf32_Ehdr *)
                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);
                    pEVar42 = pEVar17;
                    goto LAB_00084621;
                  }
                  if (uVar18 != 2) goto LAB_00084a35;
                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||
                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))
                  goto LAB_000845c4;
                  if (pEVar29 == (Elf32_Ehdr *)0x78) {
                    pEStack_160->e_ident_class = 0x60;
                    pEStack_160->e_ident_data = 0;
                    pEStack_160->e_ident_version = 0;
                    pEStack_160->e_ident_osabi = 0;
                  }
                  goto LAB_000840c8;
                }
                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {
                  pEStack_16c = pEStack_158;
                  pEVar42 = pEStack_158;
LAB_00084b1c:
                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;
                  EStack_104.e_type = 0;
                  EStack_104.e_machine = 0;
                  if (uVar18 == 0) {
                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                    pEStack_17c = pEStack_1a8;
                    pEStack_178 = pEVar42;
                  }
                  else {
                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;
                    pEVar42 = local_44;
                    pEStack_17c = pEStack_1a8;
                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                  }
                }
                else {
                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||
                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {
                    pEStack_16c = pEStack_158;
                    goto LAB_00084b1c;
                  }
                  pEStack_16c = pEStack_158;
                  pEVar42 = pEStack_158;
LAB_00084a15:
                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)
                  goto LAB_00084b1c;
                  EStack_104.e_type = 0;
                  EStack_104.e_machine = 0;
                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))
                  goto LAB_00084ac0;
LAB_00084a35:
                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                  pEStack_17c = pEStack_1a8;
                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;
                }
                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;
                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;
                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;
                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;
                pEStack_1a8 = pEStack_17c;
                uVar13 = FUN_00129570();
                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);
                pEStack_16c = (Elf32_Ehdr *)0x0;
                uVar18 = extraout_EDX_02;
                pEVar29 = pEVar42;
LAB_0008466d:
                pEVar44 = pEStack_16c;
                pEVar17 = pEStack_174;
                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;
                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;
                uVar32 = (undefined3)((uint)uVar18 >> 8);
                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);
                if ((char)uStack_1b0 == '\0') {
                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);
                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {
LAB_000845c4:
                    *(undefined **)pEStack_160 = (undefined *)0x60;
                    goto LAB_000840c8;
                  }
                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);
                  cStack_1b1 = '\x01';
LAB_000847e7:
                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                  cVar12 = (char)uVar36;
                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {
LAB_00084960:
                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                      puVar30 = *(undefined **)pEStack_178;
                      *(undefined4 *)(puVar35 + -0x10) = 0;
                      *(undefined4 *)(puVar35 + -0x14) = 0;
                      *(undefined4 *)(puVar35 + -0x18) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                      pcVar3 = *(code **)(puVar30 + 0xac);
                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;
                      uVar18 = (*pcVar3)();
                      if ((char)uVar18 == '\0') {
                        *(undefined4 *)(puVar35 + -4) = uVar18;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;
                        FUN_000da200();
                      }
                      puVar30 = *(undefined **)pEStack_178;
                      *(undefined4 *)(puVar35 + -0x10) = 0;
                      *(undefined4 *)(puVar35 + -0x14) = 0;
                      *(undefined4 *)(puVar35 + -0x18) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                      pcVar3 = *(code **)(puVar30 + 0xb0);
                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;
                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                    }
                    else {
                      pdVar23 = &pEStack_16c->e_phoff;
                      while (*pdVar23 != 0) {
                        pdVar23 = (dword *)pdVar23[2];
                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;
                      }
                      if (pdVar23[1] == 0xffffffff) {
LAB_00084989:
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;
                        FUN_000da200();
                      }
                      *(undefined4 *)(puVar35 + -0xc) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;
                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                    }
                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                    iVar20 = *(int *)(iStack_48 + 0x14);
                    if (iVar20 == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0x87c11;
                      FUN_00051e10();
LAB_00087c11:
                      pEVar17 = pEStack_154;
                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;
                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;
                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;
                      FUN_000da200();
                    }
                    iVar15 = *(int *)(iVar20 + 0x20);
                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;
                      FUN_000da200();
                    }
                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);
                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -4) = 0x87beb;
                      FUN_00052f10();
                    }
                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;
                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;
                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));
                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)
                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +
                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -
                         (uint)(pEVar44 < pEVar17));
LAB_0008524b:
                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);
                    if (pwStack_1b8 < (word *)0xf3) {
                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(*(undefined **)
                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +
                                          (int)pEStack_154))();
                      return pEVar17;
                    }
                  }
                  else {
LAB_000847f9:
                    pEVar17 = pEStack_178;
                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                    pEVar42 = (Elf32_Ehdr *)uStack_128;
                    uVar53 = CONCAT44(pEVar29,pEStack_174);
                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;
                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {
                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;
                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);
                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                        *(int *)(puVar35 + -4) = iVar20;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;
                        FUN_000da200();
                      }
                      uVar36 = *(uint *)(iVar20 + 4);
                      uVar40 = uVar36 + 0x8000;
                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);
                      uStack_128 = CONCAT44(uVar16,uVar40);
                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar36 << 0x18;
                      pEStack_160->e_ident_class = (char)uVar36;
                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);
                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);
                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);
                      *(undefined **)pEStack_160 =
                           (undefined *)
                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                           uVar16 * 0x1000000);
                      goto LAB_000840c8;
                    }
                    pEVar44 = pEVar29;
                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;
                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;
                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);
                    if (bVar27 == 0) {
                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);
                      pEVar38 = pEStack_174;
                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;
                        cVar12 = FUN_001e6ba0();
                        goto LAB_0008666f;
                      }
                      goto LAB_00084855;
                    }
                    if (cVar12 == '\0') {
                      pEVar44 = pEStack_174;
                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {
                        pwVar24 = &pEStack_174[-1].e_phentsize;
                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||
                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;
                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);
                        pEVar44 = pEStack_16c;
                        uVar53 = CONCAT44(iStack_48,pEStack_16c);
                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                        if (bVar45) goto LAB_00086f95;
                      }
                      uVar36 = puStack_3c[1];
                      uVar40 = *puStack_3c;
                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18;
                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);
                      uVar36 = (uint)(local_20 < uVar36 + 8);
                      uVar40 = -iVar20;
                      bVar45 = iVar20 != 0 || uVar40 < uVar36;
                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);
                      bVar48 = uVar40 - uVar36 == 0;
                      if (iVar20 == 0 && uVar40 >= uVar36) {
                        puStack_194 = *(undefined **)pEStack_160;
                        bVar45 = false;
                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;
                        if (!bVar48) {
                          uVar36._0_1_ = pEStack_160->e_ident_class;
                          uVar36._1_1_ = pEStack_160->e_ident_data;
                          uVar36._2_1_ = pEStack_160->e_ident_version;
                          uVar36._3_1_ = pEStack_160->e_ident_osabi;
                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;
                          bVar45 = false;
                          bVar7 = uVar36 != 0x60000000;
                          bVar8 = uVar36 != 0x4def7b82;
                          bVar46 = uVar36 != 0x4ffffb82;
                          bVar48 = (bVar7 && bVar8) && bVar46;
                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);
                          puStack_194 = (undefined *)
                                        CONCAT31(puStack_194._1_3_,
                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||
                                                 uVar36 == 0x4ffffb82);
                          if ((!bVar7 || !bVar8) || !bVar46) {
                            pdStack_188 = *(dword **)(iStack_48 + 8);
                            *(uint *)&pEStack_160->e_ident_class =
                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;
                            pwVar24 = &pEStack_174[-1].e_phentsize;
                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                            goto LAB_00086f95;
                          }
                        }
                      }
                      iVar20 = 0x12;
                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;
                      pEVar43 = pEStack_154 + -0x57ab;
                      do {
                        pEVar38 = pEVar29;
                        pEVar44 = pEVar43;
                        if (iVar20 == 0) break;
                        iVar20 = iVar20 + -1;
                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);
                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);
                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;
                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;
                        pEVar29 = pEVar38;
                        pEVar43 = pEVar44;
                      } while (bVar48);
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      if ((!bVar45 && !bVar48) != bVar45) {
                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;
                        uStack_120._4_4_ = uStack_128._4_4_;
                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                        if (((pEStack_16c->e_phentsize & 7) == 0) &&
                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {
                          puStack_138 = (undefined *)0x0;
                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {
                            uVar36 = puStack_3c[4];
                            uVar40 = puStack_3c[5];
                            *(uint *)(puVar35 + -4) =
                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8
                                 | uVar36 << 0x18;
                            *(uint *)(puVar35 + -8) =
                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8
                                 | uVar40 << 0x18;
                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                            *(dword **)(puVar35 + -0x10) = pdStack_188;
                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;
                            uStack_120 = FUN_000a9dc0();
                            *(undefined ***)(puVar35 + -8) = &puStack_138;
                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;
                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;
                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;
                            FUN_0007c1b0();
                            puVar30 = puStack_138;
                            if (puStack_138 == (undefined *)0x0) {
                              uVar53 = uStack_120;
                              if ((pEStack_16c->e_phentsize & 7) != 0) {
                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;
                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;
                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;
                                *(undefined1 **)(puVar35 + -0x10) =
                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);
                    /* WARNING: Subroutine does not return */
                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;
                                FUN_000da200();
                              }
                              goto LAB_00087667;
                            }
                          }
                          else {
LAB_00087667:
                            uStack_120 = uVar53;
                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);
                          }
                          pEVar38 = pEVar42;
                          pEVar44 = local_44;
                          uVar53 = uStack_120;
                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;
                        }
                        pEVar44 = pEStack_154;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;
                        uStack_120 = uVar53;
                        uVar18 = gettext();
                        uVar36 = *puStack_3c;
                        uVar40 = puStack_3c[1];
                        *(undefined4 *)(puVar35 + -0x10) = uVar18;
                        pEVar38 = (Elf32_Ehdr *)
                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);
                        *(uint *)(puVar35 + -0x14) =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;
                        FUN_000d1b10();
                        uStack_128 = uStack_120;
                      }
LAB_00086d73:
                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);
LAB_00086d80:
                      pwVar24 = &pEStack_174[-1].e_phentsize;
                      uVar53 = CONCAT44(pEVar44,pEVar38);
                    }
                    else {
                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);
                      pwVar24 = &pEStack_174[-1].e_phentsize;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    }
LAB_00086f95:
                    if (pwVar24 < (word *)0xf3) {
                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(pEStack_154->e_ident_magic_str +
                                          *(int *)(pEStack_154->e_ident_magic_str +
                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();
                      return pEVar17;
                    }
                  }
                  uVar10 = uStack_128;
                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {
LAB_00085507:
                    uVar36 = 0;
LAB_00085509:
                    puVar30 = *(undefined **)pEStack_160;
                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |
                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;
                    uVar36 = uVar40 | uVar36;
                    uVar40 = uVar40 & 0x2800000;
                    if (uVar40 == 0x800000) {
                      uVar36 = uVar36 | 0x400000;
                    }
                    else {
                      if (uVar40 != 0x2000000) goto LAB_000852e8;
                      uVar36 = uVar36 | 0x1000000;
                    }
                    *(undefined **)pEStack_160 =
                         (undefined *)
                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18);
                  }
                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {
                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;
                  }
                  else {
                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {
LAB_000855d5:
                      uVar36 = 0x200000;
                      goto LAB_00085509;
                    }
                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;
                  }
LAB_000852e8:
                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);
                  uStack_128 = uVar10;
                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;
                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {
                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {
                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {
                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;
                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {
                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;
                        }
                        else {
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;
                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;
                        }
                        goto LAB_00085718;
                      }
                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;
                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {
                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;
                      }
                      else {
                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;
                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;
                      }
                      goto LAB_00085718;
                    }
LAB_000862b5:
                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                    if (iVar20 == 0) {
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;
                      FUN_000da200();
                    }
                    if (*(char *)(iVar20 + 0x3fed) != '\0') {
                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                      uVar36 = (uint)pEStack_174 >> 0x18;
                      uVar40 = (int)pEStack_174 << 0x18;
                      puVar21 = (undefined1 *)
                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |
                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);
                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {
                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;
                        cVar12 = FUN_00083a50();
                        if (cVar12 == '\0') goto LAB_00087160;
                        if ((uVar40 & 0xfc000000) != 0xe8000000) {
                          *(undefined1 **)(puVar35 + -4) = puVar21;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;
                          FUN_000da200();
                        }
                        uVar40 = (uint)puVar21 ^ 0xd0000000;
                        *(undefined4 *)(puVar35 + -4) = 0x86f10;
                        cVar12 = FUN_0004d340();
                        if (cVar12 == '\0') {
                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;
                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;
                          pEStack_160->e_ident_magic_num = (char)uVar14;
                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                          pEVar29 = pEVar44;
                        }
                        else {
                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);
                          if (iStack_164 == 0 &&
                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {
                            pEStack_168 = (Elf32_Ehdr *)0x30;
                            *(uint *)&pEStack_160[-1].e_shstrndx =
                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |
                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;
                            goto LAB_00085788;
                          }
                          pEStack_168 = (Elf32_Ehdr *)0x30;
                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;
                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;
                          pEStack_160->e_ident_magic_num = (char)uVar14;
                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);
                        }
                        goto LAB_000840c8;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x86308;
                      cVar12 = FUN_0004d340();
                      uVar10 = uStack_128;
                      if ((cVar12 != '\0') &&
                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),
                         iVar20 == 0 &&
                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))
                      goto LAB_00086339;
                    }
LAB_00085718:
                    uStack_128 = uVar10;
                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {
                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(pEStack_154->e_ident_magic_str +
                                          *(int *)(pEStack_154->e_ident_pad +
                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +
                                          -1))();
                      return pEVar17;
                    }
                    goto LAB_00085788;
                  }
                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;
                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {
                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {
LAB_000856c9:
                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                      if (iVar20 == 0) {
                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                        *(undefined1 **)(puVar35 + -0x10) =
                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;
                        FUN_000da200();
                      }
                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;
                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |
                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;
                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {
                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&
                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),
                           pEVar44 == (Elf32_Ehdr *)0x0 &&
                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))
                        goto LAB_000866af;
                        goto LAB_00085718;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x85de4;
                      cVar12 = FUN_00083a50();
                      uVar36 = uVar36 & 0xfc1f0000;
                      uVar10 = uStack_128;
                      if (cVar12 == '\0') {
                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;
                      }
                      else if (uVar36 != 0x3c020000) {
                        *(int *)(puVar35 + -4) = (int)uVar53;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;
                        FUN_000da200();
                      }
                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);
                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&
                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {
LAB_000866af:
                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;
                        pEVar29 = pEVar44;
                        uStack_128 = uVar10;
                        goto LAB_000840c8;
                      }
                      goto LAB_00085788;
                    }
                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {
                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;
                    }
                    else {
                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;
                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;
                    }
                    goto LAB_00085718;
                  }
                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {
LAB_000860c0:
                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
LAB_000860cc:
                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;
                      uStack_128 = uVar10;
                      FUN_000da200();
                    }
                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&
                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),
                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {
                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;
                    }
                    goto LAB_00085718;
                  }
                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {
                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;
                    goto LAB_00085718;
                  }
                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {
                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {
                      pEVar29 = pEStack_160;
                      if ((((int)uStack_128._4_4_ +
                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +
                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&
                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&
                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {
                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;
                        pEVar17 = pEStack_154;
                        if (iVar20 == 0) {
LAB_00087f11:
                          *(uint *)(puVar35 + -4) = uVar36;
                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;
                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;
                          uStack_128 = uVar10;
                          FUN_000da200();
                        }
                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&
                           (*(char *)(iVar20 + 0x2931) == '\0')) {
                          uVar36 = puStack_3c[4];
                          uVar40 = puStack_3c[5];
                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {
                            bVar47 = false;
                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;
                            bVar7 = uVar36 >> 0x18 == 0;
                            bVar8 = (uVar36 & 0xff0000) == 0;
                            bVar46 = (uVar36 & 0xff00) == 0;
                            bVar48 = (uVar36 & 0xff) == 0;
                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);
                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {
                              iVar20 = 6;
                              pbVar33 = *(byte **)pEStack_16c;
                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;
                              do {
                                if (iVar20 == 0) break;
                                iVar20 = iVar20 + -1;
                                bVar47 = *pbVar33 < (byte)*pdVar23;
                                bVar49 = *pbVar33 == (byte)*pdVar23;
                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);
                              } while (bVar49);
                              if ((!bVar47 && !bVar49) == bVar47) {
                                uStack_1e0 = 0;
                                uVar36 = puStack_3c[-4];
                                uVar40 = puStack_3c[-3];
                                pEStack_1dc = pEStack_1a8;
                                if ((Elf32_Ehdr *)
                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&
                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {
                                  uVar36 = puStack_3c[-6];
                                  uVar40 = puStack_3c[-5];
                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;
                                  uVar40 = *puStack_3c;
                                  uVar16 = puStack_3c[1];
                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +
                                           (uint)(0xfffffffb < uVar26);
                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&
                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&
                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],
                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0
                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&
                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {
                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &
                                             0xffff;
                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>
                                             0x10;
                                    uVar16 = uVar40 + 0x38420000;
                                    uVar31 = uVar26 + 0x3c400000;
                                    *(uint *)&pEStack_160[-1].e_shstrndx =
                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;
                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |
                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;
                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;
                                    pEStack_160[-0xffffffff00000001].e_shnum =
                                         (short)(uVar40 >> 0x10);
                                    piVar25 = (int *)local_44->e_version;
                                    if (piVar25 != (int *)0x0) {
                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=
                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {
                                        *(uint **)(puVar35 + -4) = puStack_3c;
                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;
                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;
                                        *(word **)(puVar35 + -0x10) =
                                             &pEStack_154[-0x57b2].e_phentsize;
                    /* WARNING: Subroutine does not return */
                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;
                                        FUN_000da200();
                                      }
                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';
                                      iVar20 = *(int *)local_44->e_version;
                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)
                                          <= pEStack_170) {
                                        *(uint *)(puVar35 + -4) = uVar36;
                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;
                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;
                                        *(word **)(puVar35 + -0x10) =
                                             &pEStack_154[-0x57b2].e_phentsize;
                    /* WARNING: Subroutine does not return */
                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;
                                        FUN_000da200();
                                      }
                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';
                                      pEVar29 = pEStack_170;
                                    }
                                    goto LAB_000840c8;
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;
                      pEStack_160->e_ident_magic_num = (char)uVar14;
                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                      goto LAB_000840c8;
                    }
                    goto LAB_00085718;
                  }
                  if (*(int *)(iStack_48 + 0x14) == 0) {
                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;
                    FUN_00051e10();
LAB_00087d3f:
                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;
                    FUN_000da200();
                  }
                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);
                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;
                  uVar36 = *(uint *)(iVar20 + 4);
                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);
                  uStack_128._4_4_ =
                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));
                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {
                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                    if (iVar20 == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;
                      FUN_000da200();
                    }
                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')
                       ) goto LAB_000853b0;
                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;
                    uVar16._0_1_ = pEStack_160->e_ident_class;
                    uVar16._1_1_ = pEStack_160->e_ident_data;
                    uVar16._2_1_ = pEStack_160->e_ident_version;
                    uVar16._3_1_ = pEStack_160->e_ident_osabi;
                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&
                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                       uVar16 << 0x18) == 0x7c426214)) {
                      uVar36 = uVar36 + 0x10000 >> 0x10;
                      uVar40 = uVar36 + 0x3c400000;
                      puVar30 = (undefined *)
                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8
                                | uVar36 << 0x18);
LAB_00085643:
                      *(undefined **)pEStack_160 = puVar30;
                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;
                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;
                      pEStack_160->e_ident_class = (char)uVar36;
                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);
                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);
                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);
                      pEVar29 = pEStack_16c;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      goto LAB_000840c8;
                    }
                  }
                  else {
LAB_000853b0:
                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;
                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));
                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)
                    {
                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;
                      uVar40._0_1_ = pEStack_160->e_ident_class;
                      uVar40._1_1_ = pEStack_160->e_ident_data;
                      uVar40._2_1_ = pEStack_160->e_ident_version;
                      uVar40._3_1_ = pEStack_160->e_ident_osabi;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&
                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18) == 0x7c426214)) {
                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;
                        uVar40 = uVar36 + 0x3c4c0000;
                        puVar30 = (undefined *)
                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);
                        goto LAB_00085643;
                      }
                    }
                  }
LAB_000853db:
                  pEVar29 = pEStack_154;
                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;
                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;
                  uVar18 = gettext();
                  uVar36 = *puStack_3c;
                  uVar40 = puStack_3c[1];
                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;
                  *(undefined4 *)(puVar35 + -0x10) = uVar18;
                  *(uint *)(puVar35 + -0x14) =
                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                       uVar36 << 0x18;
                  *(uint *)(puVar35 + -0x18) =
                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                       uVar40 << 0x18;
                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;
                  FUN_000d1b10();
                }
                else {
                  cStack_1b1 = bVar48 || bVar45;
                  uVar40 = CONCAT31(uVar32,cStack_1b1);
                  if (!bVar48 && !bVar45) {
                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {
                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;
                        cVar12 = FUN_0004f780();
                        uVar40 = extraout_EDX_01;
                        if (cVar12 == '\0') goto LAB_0008493d;
                      }
                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&
                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {
                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                        if (iVar20 == 0) {
                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;
                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;
                          FUN_000da200();
                        }
                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||
                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;
                        *(undefined4 *)(puVar35 + -4) = 0x86798;
                        uVar36 = FUN_00051ac0();
                        if ((char)uVar36 != '\0') goto LAB_000846f8;
                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);
                        if (pEVar29 == (Elf32_Ehdr *)0x0) {
                          *(int *)(puVar35 + -4) = iVar20;
                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;
                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;
                          FUN_000da200();
                        }
                        pEStack_84 = pEStack_16c;
                        *(undefined4 *)(puVar35 + -4) = 0x867c9;
                        uVar51 = FUN_00054670();
                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);
                        piVar25 = extraout_ECX_00;
                        if ((int)uVar51 != 0) {
                          uStack_1b0 = *(uint *)((int)uVar51 + 8);
                          uStack_1ac = 0;
                          bVar27 = (byte)pEVar29->e_phoff;
                          if ((bVar27 & 2) == 0) {
                            *(uint *)(puVar35 + -4) = uVar36;
                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;
                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;
                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;
                            FUN_000da200();
                          }
                          puStack_194 = (undefined *)
                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);
                          if ((bVar27 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -4) = 0x8811f;
                            FUN_00052f10();
                          }
                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;
                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;
                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {
                            uVar40 = 0xffffffe0;
                            iVar20 = 0x20;
                          }
                          else {
                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);
                            uVar40 = -iVar20;
                          }
                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;
                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))
                          ;
                          uStack_128._4_4_ =
                               (Elf32_Ehdr *)
                               (pEVar29->e_ident_magic_str +
                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));
                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);
                          goto LAB_000847e7;
                        }
LAB_00084930:
                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;
                        goto LAB_0008493d;
                      }
LAB_000846f8:
                      piVar25 = *(int **)(iStack_48 + 0x50);
                      piVar4 = *(int **)(iStack_48 + 0x4c);
                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {
LAB_0008471b:
                        uVar36 = puStack_3c[4];
                        uVar40 = puStack_3c[5];
                        auStack_7c._4_4_ =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        auStack_7c._0_4_ =
                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                             uVar40 << 0x18;
                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                          pEStack_80 = pEStack_178;
                          pEStack_84 = (Elf32_Ehdr *)0x0;
                          pEStack_74 = pEStack_17c;
                          pEVar29 = pEStack_17c;
                        }
                        else {
                          pEStack_84 = pEStack_16c;
                          pEStack_80 = (Elf32_Ehdr *)0x0;
                          pEStack_74 = (Elf32_Ehdr *)0x0;
                        }
                        *(undefined4 *)(puVar35 + -4) = 0x84761;
                        FUN_0004ddc0();
                        iVar20 = iStack_14c;
                        puVar2 = (uint *)(iStack_14c + 0x18);
                        piVar25 = extraout_ECX;
                        uVar40 = extraout_EDX_00;
                        if (iStack_14c != 0) {
                          *(undefined4 *)(puVar35 + -4) = 0x84779;
                          lVar52 = FUN_00056c10();
                          lVar9 = lVar52 + (ulonglong)*puVar2;
                          bVar27 = *(byte *)(iVar20 + 0x1f);
                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);
                          uStack_128._4_4_ = pEVar29;
                          puStack_194._0_1_ = bVar27;
                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);
                          if ((bVar27 & 0x40) != 0) {
                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);
                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);
                            *(undefined4 *)(puVar35 + -4) = 0;
                            *(undefined4 *)(puVar35 + -8) = 0x18;
                            *(uint *)(puVar35 + -0xc) =
                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8
                                 | uVar36 << 0x18;
                            *(uint *)(puVar35 + -0x10) =
                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8
                                 | uVar40 << 0x18;
                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;
                            uStack_128 = lVar9;
                            puVar21 = (undefined1 *)FUN_002dcbb0();
                            pcVar1 = pEStack_170->e_ident_magic_str;
                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);
                            if ((pcVar1 < puVar21) &&
                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),
                               puStack_3c[9] == 0x6d000000)) {
                              uVar36 = puStack_3c[6];
                              uVar40 = puStack_3c[1];
                              uVar16 = puStack_3c[7];
                              uStack_1d0 = *puStack_3c;
                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;
                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;
                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |
                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +
                                       (uint)(0xfffffffb < uVar40);
                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);
                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&
                                  uStack_1d8 == uVar40 + 4) {
                                lVar52 = lVar9 + 4;
                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);
                              }
                            }
                          }
                          bVar27 = (byte)puStack_194;
                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);
                          uVar36 = (uint)(bVar27 >> 7);
                          goto LAB_000847e7;
                        }
                        goto LAB_00084930;
                      }
                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;
                      uVar40 = local_44->e_entry;
                      pEVar29 = local_44;
                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=
                          uVar40) {
LAB_0008491d:
                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;
                        goto LAB_0008471b;
                      }
                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);
                      if (iVar20 != 0) {
                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);
                        uVar40 = *(uint *)(iVar20 + 0x4c);
                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&
                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;
                        goto LAB_0008491d;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;
                      FUN_00053680();
LAB_00087e7f:
                      *(undefined4 *)(puVar35 + -4) = 0x87e84;
                      FUN_00051e10();
                      piVar25 = extraout_ECX_02;
LAB_00087e84:
                      *(int **)(puVar35 + -4) = piVar25;
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;
                      FUN_000da200();
                    }
LAB_0008493d:
                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);
                    cVar12 = '\0';
                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);
                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))
                    goto LAB_000847f9;
                    goto LAB_00084960;
                  }
                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;
                    pEVar44 = (Elf32_Ehdr *)
                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *
                              -0x33333333);
                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0x87e08;
                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();
LAB_00087e08:
                      pEVar44 = pEStack_154;
                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;
                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;
                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;
                      FUN_000da200();
                    }
                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +
                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {
                      iVar20 = *(int *)(iStack_48 + 0x20);
                    }
                    else {
                      iVar20 = *(int *)(iStack_48 + 0x1c);
                      if (iVar20 == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x87f11;
                        uVar36 = FUN_00051db0();
                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                        goto LAB_00087f11;
                      }
                    }
                    puVar30 = *(undefined **)pEStack_178;
                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;
                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;
                    pcVar3 = *(code **)(puVar30 + 0xa8);
                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;
                    uVar36 = (*pcVar3)();
LAB_000851d9:
                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;
                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;
                      FUN_000da200();
                    }
                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)
                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));
                    if (*(int *)(iStack_48 + 0x14) == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0x87c97;
                      FUN_00051e10();
                      goto LAB_00087c97;
                    }
                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);
                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;
                      FUN_000da200();
                    }
                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);
                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);
                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)
                         ((int)uStack_128._4_4_ +
                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);
                    goto LAB_0008524b;
                  }
                  bVar27 = (byte)pEStack_16c->e_ehsize;
                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);
                  if ((bVar27 & 0xf) != 10) {
LAB_000851b9:
                    iVar20 = *(int *)(iStack_48 + 0x18);
                    if (iVar20 != 0) {
LAB_000851c7:
                      uVar36 = pEStack_16c->e_entry;
                      if (uVar36 != 0xffffffff) goto LAB_000851d9;
                      *(undefined4 *)(puVar35 + -4) = 0x87cba;
                      FUN_00052ee0();
                    }
                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;
                    FUN_00051de0();
                    goto LAB_00087cbf;
                  }
                  *(undefined4 *)(puVar35 + -0xc) = 0;
                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;
                  cVar12 = FUN_000a8040();
                  if (cVar12 == '\0') goto LAB_000851b9;
                  iVar20 = *(int *)(iStack_48 + 0x1c);
                  if (iVar20 != 0) goto LAB_000851c7;
                  *(undefined4 *)(puVar35 + -4) = 0x8664e;
                  FUN_00051db0();
                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);
LAB_00086650:
                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);
                  cVar12 = '\x01';
                  pEStack_1a4 = pEVar38;
                  if (pEVar38 < (Elf32_Ehdr *)0x4) {
LAB_0008666f:
                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                    iVar20 = *(int *)(*(int *)pbVar33 + 8);
                    if (iVar20 == 0) {
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;
                      FUN_00052750();
                    }
                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')
                       ) {
                      uStack_1b0 = 0;
                      dVar39 = 1;
LAB_000866d7:
                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(dword *)(puVar35 + -0x18) = dVar39;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xac);
                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;
                        cVar12 = (*pcVar3)();
                        if (cVar12 == '\0') {
                          *(dword *)(puVar35 + -4) = dVar39;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;
                          FUN_000da200();
                        }
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(dword *)(puVar35 + -0x18) = dVar39;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xb0);
                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;
                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                      }
                      else {
                        pdVar23 = &pEStack_16c->e_phoff;
                        while (*pdVar23 != dVar39) {
                          pdVar23 = (dword *)pdVar23[2];
                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;
                        }
                        if (pdVar23[1] == 0xffffffff) {
LAB_000866ff:
                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;
                          FUN_000da200();
                        }
                        *(dword *)(puVar35 + -0xc) = dVar39;
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;
                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      iVar20 = *(int *)(iStack_48 + 0x14);
                      if (iVar20 == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x87eed;
                        FUN_00051e10();
LAB_00087eed:
                        *(byte **)(puVar35 + -4) = pbVar33;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;
                        FUN_000da200();
                      }
                      iVar15 = *(int *)(iVar20 + 0x20);
                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;
                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;
                        FUN_00052f10();
                      }
                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);
                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));
                      pEVar44 = (Elf32_Ehdr *)
                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)
                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,
                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -
                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));
                      uVar53 = CONCAT44(pEVar44,pEVar17);
                      if (uStack_1b0 != 3) {
                        uStack_128._0_4_ = pEVar17;
                        uStack_128._4_4_ = pEVar44;
                        if (uStack_1b0 != 2) goto LAB_0008524b;
                        goto LAB_000866a2;
                      }
                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {
                        *(uint *)&pEStack_160[-1].e_shstrndx =
                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;
                      }
                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;
                      uVar10 = uVar53;
                      goto LAB_000852e8;
                    }
                    if (cVar12 == '\0') {
                      uStack_1b0 = 3;
                      dVar39 = 3;
                      goto LAB_000866d7;
                    }
LAB_000866a2:
                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;
                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;
                    uVar36 = puStack_3c[4];
                    uVar40 = puStack_3c[5];
                    *(uint *)(puVar35 + -4) =
                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18;
                    *(uint *)(puVar35 + -8) =
                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18;
                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                    *(dword **)(puVar35 + -0x10) = pdStack_188;
                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;
                    lVar52 = FUN_000a9dc0();
                    uVar10 = lVar52 - 0x7000;
LAB_0008620b:
                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;
                      uStack_128 = uVar10;
                      FUN_000da200();
                    }
                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;
                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {
                      if ((uVar36 & 0xfc000000) == 0x28000000) {
                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;
                        uStack_128._4_4_ = pEVar44;
                      }
                      else {
LAB_0008614e:
                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;
                      }
                    }
                    else {
                      uVar40 = (uint)(uVar10 + 0x8000);
                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);
                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&
                         (pEVar44 = uStack_128._4_4_,
                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &
                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;
                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;
                    }
                    uVar14 = (ushort)(uVar40 >> 0x10);
                    uVar14 = uVar14 << 8 | uVar14 >> 8;
                    pEStack_160->e_ident_magic_num = (char)uVar14;
                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                    pEVar29 = uStack_128._4_4_;
                    uStack_128 = uVar10;
                    goto LAB_000840c8;
                  }
LAB_00084855:
                  pEVar29 = local_44;
                  pEVar17 = pEStack_178;
                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);
                  if ((undefined1 *)0x3 < puVar21) {
                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {
                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 2;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xac);
                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;
                        uVar18 = (*pcVar3)();
                        pEVar44 = pEStack_178;
                        if ((char)uVar18 == '\0') {
                          *(undefined4 *)(puVar35 + -4) = uVar18;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;
                          FUN_000da200();
                        }
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 2;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xb0);
                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;
                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                        pEVar38 = pEVar17;
                      }
                      else {
                        pdVar23 = &pEStack_16c->e_phoff;
                        while (*pdVar23 != 2) {
                          pdVar23 = (dword *)pdVar23[2];
                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;
                        }
                        if (pdVar23[1] == 0xffffffff) {
LAB_000848a0:
                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;
                          FUN_000da200();
                        }
                        *(undefined4 *)(puVar35 + -0xc) = 2;
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;
                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      if (*(int *)(iStack_48 + 0x14) == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;
                        FUN_00051e10();
                        uVar18 = extraout_ECX_03;
                        goto LAB_00087f4d;
                      }
LAB_00086f7b:
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      *(undefined4 *)(puVar35 + -4) = 0x86f80;
                      uVar51 = FUN_000530e0();
                      pwVar24 = &pEStack_174[-1].e_phentsize;
                      uVar53 = CONCAT44(pEVar44,pEVar38);
                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -
                                            (int)((ulonglong)uVar51 >> 0x20)) -
                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),
                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);
                      goto LAB_00086f95;
                    }
                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);
                    if (pEVar38 < (Elf32_Ehdr *)0x4) {
                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;
                        FUN_001e6ba0();
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x869ca;
                      iVar20 = FUN_00054e10();
                      pEVar17 = pEStack_178;
                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      if (iVar20 != 0) {
                        if (iVar20 != 2) {
                          *(int *)(puVar35 + -4) = iVar20;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;
                          FUN_000da200();
                        }
                        if (pEVar38 < (Elf32_Ehdr *)0x2) {
                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;
                          uVar36 = puStack_3c[4];
                          uVar40 = puStack_3c[5];
                          *(uint *)(puVar35 + -4) =
                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18;
                          *(uint *)(puVar35 + -8) =
                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar40 << 0x18;
                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                          *(dword **)(puVar35 + -0x10) = pdStack_188;
                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;
                          lVar52 = FUN_000a9dc0();
                          uVar10 = lVar52 - 0x7000;
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          goto LAB_0008620b;
                        }
                        goto LAB_000866af;
                      }
                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 3;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xac);
                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;
                        uVar18 = (*pcVar3)();
                        if ((char)uVar18 == '\0') {
                          *(undefined4 *)(puVar35 + -4) = uVar18;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;
                          FUN_000da200();
                        }
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 3;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xb0);
                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;
                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                      }
                      else {
                        pdVar23 = &pEStack_16c->e_phoff;
                        while (*pdVar23 != 3) {
                          pdVar23 = (dword *)pdVar23[2];
                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;
                        }
                        if (pdVar23[1] == 0xffffffff) {
LAB_000869f8:
                          *(dword **)(puVar35 + -4) = pdVar23;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;
                          FUN_000da200();
                        }
                        *(undefined4 *)(puVar35 + -0xc) = 3;
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;
                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                        pEVar17 = pEVar44;
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      pEVar44 = pEVar17;
                      if (*(int *)(iStack_48 + 0x14) == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x874c0;
                        FUN_00051e10();
                        goto LAB_000874c0;
                      }
                      goto LAB_00086f7b;
                    }
                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {
                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {
                        uVar36 = *puStack_3c;
                        uVar40 = puStack_3c[1];
                        EStack_104.e_type = 1;
                        EStack_104.e_machine = 0;
                        EStack_104.e_version = (dword)local_44;
                        EStack_104.e_shoff =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        EStack_104.e_phoff =
                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                             uVar40 << 0x18;
                        EStack_104.e_entry = (dword)pEStack_170;
                        *(undefined4 *)(puVar35 + -4) = 0x877ef;
                        iVar20 = FUN_00052880();
                        if (iVar20 != 2) goto LAB_000840c8;
                        pEStack_168 = (Elf32_Ehdr *)0x46;
                        *(undefined **)pEStack_160 = (undefined *)0x6338;
                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);
                        EStack_104.e_type = 2;
                        EStack_104.e_machine = 0;
                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                        uVar10 = 0x1000;
                        goto LAB_000860cc;
                      }
                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {
                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {
                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;
                          FUN_001e6ba0();
                        }
                        *(undefined4 *)(puVar35 + -4) = 0x876b0;
                        iVar20 = FUN_00054e10();
                        pEVar29 = pEVar44;
                        if (iVar20 == 2) {
                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=
                              (undefined1  [52])0x7c) {
LAB_00087a01:
                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;
                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;
                            FUN_000da200();
                          }
                          *(undefined4 *)(puVar35 + -4) = 0x876e1;
                          uVar36 = FUN_00051ae0();
                          if (uVar36 == 0) goto LAB_00087a01;
                          *(undefined **)pEStack_160 =
                               (undefined *)
                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18);
                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);
                          uVar36 = puStack_3c[4];
                          uVar40 = puStack_3c[5];
                          *(uint *)(puVar35 + -4) =
                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18;
                          *(uint *)(puVar35 + -8) =
                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar40 << 0x18;
                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                          *(dword **)(puVar35 + -0x10) = pdStack_188;
                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;
                          lVar52 = FUN_000a9dc0();
                          pEStack_168 = (Elf32_Ehdr *)0x46;
                          uVar10 = lVar52 - 0x7000;
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          goto LAB_000860cc;
                        }
                        goto LAB_000840c8;
                      }
                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;
                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {
                        pEStack_168 = (Elf32_Ehdr *)0xa;
                        *(undefined **)pEStack_160 =
                             (undefined *)
                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);
                      }
                      uVar36 = puStack_3c[4];
                      uVar40 = puStack_3c[5];
                      *(uint *)(puVar35 + -4) =
                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                           uVar36 << 0x18;
                      *(uint *)(puVar35 + -8) =
                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                           uVar40 << 0x18;
                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                      *(dword **)(puVar35 + -0x10) = pdStack_188;
                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;
                      uVar53 = FUN_000a9dc0();
                      *(undefined4 *)(puVar35 + -4) = 0x870ac;
                      uStack_128 = uVar53;
                      cVar12 = FUN_00051ac0();
                      uVar10 = uStack_128;
                      if (cVar12 != '\0') {
                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {
                          *(undefined1 **)(puVar35 + -8) = auStack_134;
                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;
                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;
                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;
                          FUN_0007c1b0();
                          uVar10 = uStack_128;
                        }
                        else {
                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str
                                                             [*(int *)&pEStack_178[8].e_type + -1]
                                           >> 5);
                          }
                          else {
                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);
                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);
                            bVar27 = bVar27 >> 5;
                          }
                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);
                        }
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                      iVar20 = (int)uStack_128._4_4_;
                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;
                      uStack_128 = uVar10;
                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {
                        uVar40 = 0x8000;
                        pEStack_174 = &Elf32_Ehdr_00010000;
                      }
                      else {
                        pwVar24 = &pEStack_168[-1].e_phentsize;
                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)
                        {
                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);
                          goto LAB_00086f95;
                        }
                        pEStack_174 = (Elf32_Ehdr *)0x4000000;
                        uVar40 = 0x2000000;
                      }
                      pdStack_188 = (dword *)0x0;
                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;
                      uVar11 = uVar10;
                      if ((uint)((ulonglong)lVar52 >> 0x20) <
                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {
LAB_000879b4:
                        pwVar24 = &pEStack_168[-1].e_phentsize;
                        uVar53 = uVar10;
                        uStack_128 = uVar11;
                        goto LAB_00086f95;
                      }
                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;
                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=
                          local_44->e_entry) goto LAB_000879b4;
                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);
                      if (iVar15 != 0) {
                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +
                                          local_44->e_entry * 4);
                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)
                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),
                                 iVar15 != 0)) {
                          pEStack_174 = &EStack_104;
                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;
                          EStack_104.e_ident_pad[3] = 0;
                          EStack_104.e_ident_abiversion = 0;
                          EStack_104.e_ident_pad[0] = 0x80;
                          EStack_104.e_ident_pad[1] = 0;
                          EStack_104.e_ident_pad[2] = 0;
                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;
                          EStack_104._0_8_ = uVar10;
                          piVar25 = (int *)FUN_0004dfd0();
                          uVar11 = uStack_128;
                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {
                            if (*(char *)(iVar5 + 0x10) == '\0') {
                              uVar40 = *(uint *)(iVar5 + 0x14);
                              uVar36 = 0;
                            }
                            else {
                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);
                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {
                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);
                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;
                                FUN_000da200();
                              }
                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);
                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);
                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -
                                                 *(int *)(iVar5 + 8)) -
                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));
                              uVar10 = CONCAT44(uVar36,uVar40);
                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;
                            }
                            *(undefined4 *)(puVar35 + -4) = 0x87b23;
                            lVar52 = FUN_00056c10();
                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);
                            pwVar24 = &pEStack_168[-1].e_phentsize;
                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);
                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +
                                         (ulonglong)*(uint *)(iVar15 + 0x74);
                            goto LAB_00086f95;
                          }
                        }
                        goto LAB_000879b4;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;
                      FUN_00053680();
                      uVar10 = uStack_128;
LAB_00087ff7:
                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;
                      uVar40 = uVar36 & 0xfc000000;
                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&
                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;
                      goto LAB_0008614e;
                    }
LAB_000874c0:
                    pEVar29 = pEStack_170;
                    uVar36 = *puStack_3c;
                    uVar40 = puStack_3c[1];
                    EStack_104.e_type = 1;
                    EStack_104.e_machine = 0;
                    EStack_104.e_version = (dword)local_44;
                    EStack_104.e_shoff =
                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18;
                    EStack_104.e_phoff =
                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18;
                    EStack_104.e_entry = (dword)pEStack_170;
                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                      cVar12 = '\x01';
                    }
                    else {
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;
                      cVar12 = FUN_001e6ba0();
                    }
                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                    iVar20 = *(int *)(*(int *)pbVar33 + 8);
                    if (iVar20 == 0) {
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -4) = 0x88162;
                      FUN_00052750();
                    }
                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&
                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                       *(char *)(iVar20 + 0x3ef5) != '\0')) {
                      if (cVar12 != '\0') {
                        *(undefined **)pEStack_160 = (undefined *)0x6338;
                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);
                        uVar36 = puStack_3c[4];
                        uVar40 = puStack_3c[5];
                        *(uint *)(puVar35 + -4) =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        *(uint *)(puVar35 + -8) =
                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                             uVar40 << 0x18;
                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                        *(dword **)(puVar35 + -0x10) = pdStack_188;
                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;
                        lVar52 = FUN_000a9dc0();
                        EStack_104.e_type = 2;
                        EStack_104.e_machine = 0;
                        uVar10 = lVar52 - 0x7000;
                        pEStack_168 = (Elf32_Ehdr *)0x46;
                        goto LAB_000860cc;
                      }
                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;
                      EStack_104.e_type = 2;
                      EStack_104.e_machine = 0;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    }
                    goto LAB_000840c8;
                  }
                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;
                  iVar20 = FUN_00052880();
                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                  if (iVar20 != 0) {
                    uVar18 = extraout_ECX_01;
                    if (iVar20 != 2) {
LAB_00087f4d:
                      *(undefined4 *)(puVar35 + -4) = uVar18;
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;
                      FUN_000da200();
                    }
                    if (puVar21 < (undefined1 *)0x2) {
                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;
                      uVar10 = 0x1000;
                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                      goto LAB_0008620b;
                    }
                    goto LAB_000866af;
                  }
                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);
                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;
                  *(undefined4 *)(puVar35 + -4) = 0x87159;
                  FUN_00051e10();
LAB_00087160:
                  *(undefined4 *)(puVar35 + -4) = 0x8716c;
                  cVar12 = FUN_0004d340();
                  pEVar17 = pEStack_16c;
                  if (cVar12 != '\0') {
                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);
                    uVar10 = uStack_128;
                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20
                       ) {
LAB_00086339:
                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;
                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {
                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;
                      }
                      *(uint *)&pEStack_160[-1].e_shstrndx =
                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                           uVar36 << 0x18;
                      goto LAB_00085718;
                    }
LAB_00085788:
                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {
                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(pEStack_154->e_ident_magic_str +
                                          *(int *)(pEStack_154->e_ident_magic_str +
                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)
                                          + -1))();
                      return pEVar17;
                    }
                    goto LAB_000853db;
                  }
                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;
                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;
                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];
                  uVar6 = uVar14 >> 8;
                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);
                  uVar14 = (ushort)uStack_128;
                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||
                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==
                      0xf4000001)) {
                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;
                    pEStack_160->e_ident_magic_num = (char)uVar14;
                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                    pEVar29 = uStack_128._4_4_;
                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;
                  }
                  else {
                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;
                    pEStack_160->e_ident_magic_num = (char)uVar14;
                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                    if ((uStack_128 & 3) == 0) {
                      pEVar29 = (Elf32_Ehdr *)0x0;
                    }
                    else {
LAB_00085810:
                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {
                        bVar27 = (byte)pEStack_16c->e_phentsize;
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                        if ((bVar27 & 7) == 0) {
                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&
                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {
LAB_00086188:
                            *(undefined4 *)(puVar35 + -4) = 0x86193;
                            cVar12 = FUN_00051ac0();
                            pEVar29 = pEVar17;
                            if (cVar12 != '\0') goto LAB_000840c8;
                          }
                        }
                        else if ((bVar27 & 7) == 4) goto LAB_00086188;
                      }
                      pEVar29 = pEStack_154;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);
                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;
                      uVar18 = gettext();
                      uVar36 = *puStack_3c;
                      uVar40 = puStack_3c[1];
                      *(undefined4 *)(puVar35 + -0x10) = uVar18;
                      *(uint *)(puVar35 + -0x14) =
                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                           uVar36 << 0x18;
                      *(uint *)(puVar35 + -0x18) =
                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                           uVar40 << 0x18;
                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;
                      FUN_000d1b10();
                      if ((byte)puStack_194 != '\0') {
                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;
                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;
                        uVar18 = gettext();
                        *(undefined4 *)(puVar35 + -0x10) = uVar18;
                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;
                        FUN_000d1390();
                      }
                    }
                  }
                }
LAB_000840c8:
                pEVar17 = pEStack_154;
                if (pEStack_158 != (Elf32_Ehdr *)0x0) {
                  bVar27 = (byte)pEStack_158->e_phentsize;
                  uVar40 = (uint)bVar27;
                  uVar36 = uVar40 & 7;
                  if ((bVar27 & 7) == 0) {
                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&
                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {
LAB_00084399:
                      bVar27 = (byte)uVar40;
                      bVar28 = (byte)pEStack_158->e_ehsize;
                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {
LAB_00084540:
                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                        uVar16 = bVar27 & 3;
                      }
                      else {
                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {
                          *(uint *)(puVar35 + -4) = uVar36;
                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;
                          FUN_000da200();
                        }
                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')
                        goto LAB_00084540;
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                        if ((char)bVar28 < '\0') {
                          if ((char)uVar36 != '\0') goto LAB_000844bb;
                          pdVar23 = &pEStack_154[-0x10eb9].e_version;
LAB_00084410:
                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);
                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;
                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;
                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;
                          iVar20 = (*pcVar3)();
                          pbVar33 = pbStack_1cc;
                          if (iVar20 != 0) goto LAB_00084261;
LAB_00084440:
                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                          uVar16 = bVar27 & 3;
                        }
                        else {
LAB_00084261:
                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);
                          if (piVar25 == (int *)0x0) {
LAB_00087c97:
                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;
                            *(undefined4 *)(puVar35 + -0xc) = 0x69;
                            *(undefined1 **)(puVar35 + -0x10) =
                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;
                            FUN_000da200();
                          }
                          iVar20 = *piVar25;
                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;
                          *(int **)(puVar35 + -0x10) = piVar25;
                          pcVar3 = *(code **)(iVar20 + 0x1c);
                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;
                          cVar12 = (*pcVar3)();
                          pEVar17 = pEStack_158;
                          if (cVar12 != '\0') goto LAB_00084440;
                          iVar20 = *(int *)(*(int *)pbVar33 + 8);
                          if (iVar20 == 0) {
LAB_00087cbf:
                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                            *(undefined1 **)(puVar35 + -0x10) =
                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;
                            FUN_000da200();
                          }
                          pbVar33 = *(byte **)(iVar20 + 0x42e4);
                          bVar45 = false;
                          bVar48 = pbVar33 == (byte *)0x0;
                          if (bVar48) {
                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                            uVar16 = bVar27 & 3;
LAB_00084342:
                            if (((char)uVar16 == '\x02') ||
                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||
                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {
LAB_0008435c:
                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;
                              *(uint *)(puVar35 + -0x14) = uStack_190;
                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;
                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;
                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;
                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;
                              FUN_000d2340();
                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);
                              goto LAB_0008412d;
                            }
                          }
                          else {
                            iVar15 = 0xb;
                            pbVar37 = pbVar33;
                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;
                            do {
                              pEVar29 = pEVar44;
                              if (iVar15 == 0) break;
                              iVar15 = iVar15 + -1;
                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);
                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;
                              bVar45 = *pbVar37 < bVar27;
                              bVar48 = *pbVar37 == bVar27;
                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;
                              pEVar44 = pEVar29;
                            } while (bVar48);
                            bVar46 = false;
                            bVar45 = (!bVar45 && !bVar48) == bVar45;
                            if (bVar45) goto LAB_00084440;
                            iVar15 = 0xb;
                            pbVar37 = pbVar33;
                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);
                            do {
                              if (iVar15 == 0) break;
                              iVar15 = iVar15 + -1;
                              bVar46 = *pbVar37 < *pbVar41;
                              bVar45 = *pbVar37 == *pbVar41;
                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;
                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;
                            } while (bVar45);
                            bVar48 = false;
                            bVar45 = (!bVar46 && !bVar45) == bVar46;
                            if (bVar45) goto LAB_0008435c;
                            iVar15 = 0x17;
                            pbVar37 = pbVar33;
                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;
                            do {
                              pEVar29 = pEVar44;
                              if (iVar15 == 0) break;
                              iVar15 = iVar15 + -1;
                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);
                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;
                              bVar48 = *pbVar37 < bVar27;
                              bVar45 = *pbVar37 == bVar27;
                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;
                              pEVar44 = pEVar29;
                            } while (bVar45);
                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                            uVar16 = bVar27 & 3;
                            bVar45 = (!bVar48 && !bVar45) == bVar48;
                            if ((!bVar45) ||
                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {
                              bVar48 = false;
                              iVar15 = 0x16;
                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);
                              do {
                                pEVar29 = pEVar44;
                                if (iVar15 == 0) break;
                                iVar15 = iVar15 + -1;
                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);
                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;
                                bVar48 = *pbVar33 < bVar27;
                                bVar45 = *pbVar33 == bVar27;
                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                pEVar44 = pEVar29;
                              } while (bVar45);
                              if (((!bVar48 && !bVar45) != bVar48) ||
                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;
                            }
                          }
                        }
                      }
                      if ((char)uVar16 != '\0') {
                        bVar28 = (byte)pEStack_158->e_phentsize;
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                        uVar36 = bVar28 & 7;
                        bVar27 = (byte)uVar36;
                        if ((bVar28 & 7) != 0) goto LAB_000844d7;
LAB_00084183:
                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&
                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {
                          bVar28 = (byte)pEStack_158->e_ehsize;
                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                          pEVar29 = pEStack_158;
                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))
                          goto LAB_00084510;
                        }
LAB_0008419a:
                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)
                        goto LAB_00084595;
LAB_000841ad:
                        bVar27 = (byte)uVar16;
                        if (bVar27 == 2) {
                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;
                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;
                          uVar18 = gettext();
                        }
                        else if (bVar27 < 3) {
                          if (bVar27 != 1) {
                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;
                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;
                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;
                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;
                            FUN_000da200();
                          }
                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;
                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;
                          uVar18 = gettext();
                        }
                        else {
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);
                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;
                          uVar18 = gettext();
                        }
                        puVar30 = *(undefined **)pEStack_158;
                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;
                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;
                        uVar19 = gettext();
                        *(undefined **)(puVar35 + -8) = puVar30;
                        *(undefined4 *)(puVar35 + -0xc) = uVar18;
                        *(undefined4 *)(puVar35 + -0x10) = uVar19;
                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;
                        FUN_000d1330();
                      }
LAB_00084206:
                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                    }
                    else {
                      pdVar23 = &pEStack_154[-0x10eb9].e_version;
                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);
                      pEVar29 = pEStack_154;
                      if (pcVar3 == (code *)pdVar23) {
LAB_00084114:
                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                        uVar16 = bVar28 & 3;
                        if ((bVar28 & 3) != 0) {
                          bVar27 = bVar27 & 7;
                          goto LAB_00084183;
                        }
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                      }
                      else {
                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;
                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;
                        iVar20 = (*pcVar3)();
                        pEVar29 = pEVar17;
                        if (iVar20 == 0) goto LAB_00084540;
                        bVar27 = (byte)pEStack_158->e_phentsize;
                        uVar40 = (uint)bVar27;
                        uVar36 = uVar40 & 7;
                        if ((bVar27 & 7) == 0) {
                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);
                          if (pEVar29 == (Elf32_Ehdr *)0x0) {
                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;
                          }
                          else {
                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                          }
                          pEVar17 = pEVar29;
                          if ((char)bVar28 < '\0') goto LAB_00084410;
LAB_00084255:
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          pEVar29 = pEVar17;
                          goto LAB_00084261;
                        }
                        if ((char)uVar36 == '\x04') goto LAB_00084399;
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                        if (-1 < (char)bVar28) goto LAB_00084255;
LAB_000844bb:
                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                        uVar16 = bVar27 & 3;
                        if ((bVar27 & 3) != 0) {
                          uVar36 = uVar40 & 7;
                          goto LAB_000844d7;
                        }
                      }
                    }
                  }
                  else {
                    if ((char)uVar36 == '\x04') goto LAB_00084399;
                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                    uVar16 = bVar27 & 3;
                    if ((bVar27 & 3) != 0) {
LAB_000844d7:
                      if ((char)uVar36 != '\x04') goto LAB_00084206;
                      bVar27 = (byte)pEStack_158->e_ehsize;
                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                        goto LAB_0008412d;
                      }
LAB_00084510:
                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {
                        *(uint *)(puVar35 + -4) = uVar16;
                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                        *(undefined1 **)(puVar35 + -0x10) =
                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;
                        FUN_000da200();
                      }
                      pEVar29 = pEStack_1c8;
                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')
                      goto LAB_000841ad;
                      pEVar29 = pEStack_1c8;
                      if (bVar27 == 0) goto LAB_0008419a;
                      goto LAB_00084206;
                    }
LAB_00084595:
                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                  }
LAB_0008412d:
                  if ((bVar28 & 4) != 0) {
                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;
                    *(uint *)(puVar35 + -0x10) = uStack_190;
                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;
                    pEVar17 = *(Elf32_Ehdr **)local_44;
                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;
                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;
                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;
                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;
                    pEStack_158 = pEVar17;
                    FUN_001ead70();
                  }
                }
              }
              else {
LAB_00083e0d:
                *(undefined1 **)(puVar35 + -0x10) =
                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);
                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;
                uVar18 = gettext();
                *(uint *)(puVar35 + -0xc) = uStack_190;
                *(undefined4 *)(puVar35 + -0x10) = uVar18;
                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;
                *(uint *)(puVar35 + -0x18) = uStack_190;
                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;
                FUN_000d1b10();
              }
              *(dword **)(puVar35 + -0x10) = pdStack_198;
              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;
              FUN_000aa480();
              *(dword **)(puVar35 + -0x10) = pdStack_184;
              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;
              FUN_000aa480();
            }
            else {
              *(uint *)(puVar35 + -4) = uVar36;
              *(dword *)(puVar35 + -8) = local_44->e_entry;
              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;
              *(int *)(puVar35 + -0x10) = local_34;
              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;
              uStack_190 = FUN_00163f70();
              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;
            }
            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;
            puVar2 = puStack_3c + 6;
            pEStack_170 = pEVar17;
            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;
            uVar36 = puStack_3c[7];
            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                     uVar36 << 0x18;
            puStack_3c = puVar2;
          } while (*puVar2 == 0);
        }
        pEVar17 = pEStack_154;
        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;
        *(undefined4 *)(puVar35 + -0xc) = 0xc0;
        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x87881;
        FUN_000da200();
      }
      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);
      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);
      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
        ppuStack_54 = local_38 + -0x47743;
        ppuStack_5c = local_38 + -0x47469;
        puStack_58 = (uint *)0xc5;
                    /* WARNING: Subroutine does not return */
        dStack_60 = 0x83bf9;
        FUN_000da200();
      }
      uVar36 = uVar16 - *(uint *)(iVar20 + 4);
      uVar26 = uVar36 - 0x8000;
      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +
               (uint)(0x7fff < uVar36);
      if (uVar36 + (0x7fff7fff < uVar26) == 0) {
        *param_3 = uVar26;
        param_3[1] = uVar36;
        return pEStack_50;
      }
    }
  }
  return (Elf32_Ehdr *)0x0;
}


PUSH EBP
PUSH EDI
PUSH ESI
CALL 0x0004d336
ADD ESI,0x3905a8
PUSH EBX
SUB ESP,0x3c
MOV EDI,dword ptr [EAX + 0x148]
MOV dword ptr [ESP + 0x14],ESI
TEST EDI,EDI
JNZ 0x00083a80
ADD ESP,0x3c
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EBX,EAX
MOV EAX,dword ptr [ECX]
MOV ESI,ECX
MOV dword ptr [ESP + 0x1c],EDX
MOV EBP,dword ptr [EBX + 0x84]
MOV EDX,dword ptr [ECX + 0x4]
MOV ECX,dword ptr [EBX + 0x88]
ADD EAX,0x8000
ADC EDX,0x0
SUB ECX,EBP
SAR ECX,0x3
CMP EDI,ECX
JNC 0x00083bbf
SUB EAX,dword ptr [EBP + EDI*0x8]
SBB EDX,dword ptr [EBP + EDI*0x8 + 0x4]
SUB ESP,0x8
MOV dword ptr [ESP + 0x10],EAX
LEA EAX,[EBX + 0x90]
MOV dword ptr [ESP + 0x14],EDX
PUSH EDI
PUSH EAX
CALL 0x000b20e0
ADD ESP,0x10
MOV EDI,dword ptr [ESP + 0x8]
MOV EBP,dword ptr [ESP + 0xc]
CMP EDI,EAX
MOV EAX,EBP
SBB EAX,EDX
JNC 0x00083a70
MOV EDI,dword ptr [EBX + 0x154]
MOV EAX,dword ptr [EBX + 0x160]
MOV ECX,dword ptr [EBX + 0x158]
MOV EDX,dword ptr [EBX + 0x15c]
MOV dword ptr [ESP + 0x18],EDI
CMP EAX,ECX
JNZ 0x00083b05
CMP EDX,EDI
JZ 0x00083b46
MOV EBP,dword ptr [ESP + 0xc]
MOV EDI,dword ptr [ESP + 0x8]
SUB EAX,ECX
SUB EDX,dword ptr [ESP + 0x18]
LEA ECX,[EAX + EDX*0x8]
SHRD EDI,EBP,0x3
SHR EBP,0x3
XOR EDX,EDX
CMP EDI,ECX
MOV ECX,EBP
SBB ECX,EDX
JNC 0x00083a70
MOV ECX,EDI
MOV EDX,EDI
MOV EDI,dword ptr [ESP + 0x18]
MOV EAX,0x1
SHR EDX,0x5
SHL EAX,CL
TEST dword ptr [EDI + EDX*0x4],EAX
JNZ 0x00083a70
SUB ESP,0x4
LEA EAX,[ESP + 0x30]
PUSH EAX
PUSH dword ptr [EBX + 0x148]
PUSH EBX
MOV EBX,dword ptr [ESP + 0x24]
CALL 0x001b2c60
MOV EDX,EAX
MOV EAX,dword ptr [ESP + 0x18]
ADD EAX,EDX
MOV EDX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x4]
BSWAP EAX
MOV ECX,EAX
MOV EAX,dword ptr [ESP + 0x2c]
BSWAP EDX
ADD ESP,0x10
MOV EBX,EDX
MOV EAX,dword ptr [EAX + 0x14]
TEST EAX,EAX
JZ 0x00083bf9
MOV EDX,dword ptr [EAX + 0x20]
MOVZX EAX,byte ptr [EDX + 0x1c]
AND EAX,0x1
JZ 0x00083bdc
SUB ECX,dword ptr [EDX + 0x4]
SBB EBX,dword ptr [EDX + 0x8]
ADD ECX,0xffff8000
ADC EBX,-0x1
MOV EDI,ECX
MOV EBP,EBX
ADD EDI,0x80008000
ADC EBP,0x0
CMP EBP,0x0
JA 0x00083a70
MOV dword ptr [ESI],ECX
MOV dword ptr [ESI + 0x4],EBX
ADD ESP,0x3c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH EAX
MOV EBX,dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xffee2020]
PUSH EAX
LEA EAX,[EBX + 0xffee2e48]
PUSH 0x7f7
PUSH EAX
CALL 0x000da200
PUSH EAX
MOV EBX,dword ptr [ESP + 0x18]
LEA EAX,[EBX + 0xffee22f4]
PUSH EAX
LEA EAX,[EBX + 0xffee2e5c]
PUSH 0xc5
PUSH EAX
CALL 0x000da200
CALL 0x00051e10
NOP
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Removing unreachable block (ram,0x000872f8) */\n/* WARNING: Removing unreachable block (ram,0x0008730c) */\n/* WARNING: Removing unreachable block (ram,0x0008580a) */\n/* WARNING: Removing unreachable block (ram,0x00087318) */\n/* WARNING: Removing unreachable block (ram,0x0008734c) */\n/* WARNING: Removing unreachable block (ram,0x00086a80) */\n/* WARNING: Removing unreachable block (ram,0x00086ab4) */\n/* WARNING: Removing unreachable block (ram,0x00086abf) */\n/* WARNING: Removing unreachable block (ram,0x000871d8) */\n/* WARNING: Removing unreachable block (ram,0x000871ec) */\n/* WARNING: Removing unreachable block (ram,0x00087200) */\n/* WARNING: Removing unreachable block (ram,0x0008720a) */\n/* WARNING: Removing unreachable block (ram,0x00087210) */\n/* WARNING: Removing unreachable block (ram,0x00087224) */\n/* WARNING: Removing unreachable block (ram,0x00087450) */\n/* WARNING: Removing unreachable block (ram,0x00087463) */\n/* WARNING: Removing unreachable block (ram,0x00087479) */\n/* WARNING: Type propagation algorithm not settling */\n\nElf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)\n\n{\n  char *pcVar1;\n  uint *puVar2;\n  code *pcVar3;\n  int *piVar4;\n  int iVar5;\n  ushort uVar6;\n  bool bVar7;\n  bool bVar8;\n  longlong lVar9;\n  ulonglong uVar10;\n  ulonglong uVar11;\n  undefined1 uVar13;\n  ushort uVar14;\n  char cVar12;\n  int iVar15;\n  uint uVar16;\n  Elf32_Ehdr *pEVar17;\n  undefined4 uVar18;\n  undefined4 uVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined4 uVar22;\n  dword *pdVar23;\n  word *pwVar24;\n  int *piVar25;\n  uint uVar26;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  int *extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  byte bVar27;\n  byte bVar28;\n  Elf32_Ehdr *pEVar29;\n  undefined4 extraout_EDX;\n  undefined3 uVar32;\n  uint extraout_EDX_00;\n  uint extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined *puVar30;\n  uint uVar31;\n  undefined4 extraout_EDX_03;\n  byte *pbVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  uint uVar36;\n  byte *pbVar37;\n  Elf32_Ehdr *pEVar38;\n  dword dVar39;\n  uint uVar40;\n  byte *pbVar41;\n  Elf32_Ehdr *pEVar42;\n  Elf32_Ehdr *pEVar43;\n  Elf32_Ehdr *pEVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  bool bVar48;\n  bool bVar49;\n  byte bVar50;\n  undefined8 uVar51;\n  longlong lVar52;\n  ulonglong uVar53;\n  undefined1 auStack_1e8 [8];\n  undefined4 uStack_1e0;\n  Elf32_Ehdr *pEStack_1dc;\n  uint uStack_1d8;\n  int iStack_1d4;\n  uint uStack_1d0;\n  byte *pbStack_1cc;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  uint uStack_1c0;\n  int iStack_1bc;\n  word *pwStack_1b8;\n  char cStack_1b2;\n  char cStack_1b1;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  Elf32_Ehdr *pEStack_1a8;\n  Elf32_Ehdr *pEStack_1a4;\n  uint uStack_1a0;\n  int iStack_19c;\n  dword *pdStack_198;\n  undefined *puStack_194;\n  uint uStack_190;\n  int *piStack_18c;\n  dword *pdStack_188;\n  dword *pdStack_184;\n  int iStack_180;\n  Elf32_Ehdr *pEStack_17c;\n  Elf32_Ehdr *pEStack_178;\n  Elf32_Ehdr *pEStack_174;\n  Elf32_Ehdr *pEStack_170;\n  Elf32_Ehdr *pEStack_16c;\n  Elf32_Ehdr *pEStack_168;\n  int iStack_164;\n  Elf32_Ehdr *pEStack_160;\n  Elf32_Ehdr *pEStack_158;\n  Elf32_Ehdr *pEStack_154;\n  int iStack_14c;\n  undefined1 uStack_13d;\n  int iStack_13c;\n  undefined *puStack_138;\n  undefined1 auStack_134 [4];\n  undefined1 auStack_130 [8];\n  undefined8 uStack_128;\n  undefined8 uStack_120;\n  Elf32_Ehdr EStack_104;\n  undefined *puStack_d0;\n  dword adStack_cc [5];\n  undefined1 *apuStack_b8 [2];\n  undefined1 auStack_b0 [16];\n  char acStack_a0 [28];\n  Elf32_Ehdr *pEStack_84;\n  Elf32_Ehdr *pEStack_80;\n  undefined1 auStack_7c [8];\n  Elf32_Ehdr *pEStack_74;\n  dword dStack_60;\n  undefined **ppuStack_5c;\n  uint *puStack_58;\n  undefined **ppuStack_54;\n  Elf32_Ehdr *pEStack_50;\n  int iStack_48;\n  Elf32_Ehdr *local_44;\n  uint local_40;\n  uint *puStack_3c;\n  undefined **local_38;\n  int local_34;\n  int local_30;\n  int iStack_2c;\n  uint uStack_28;\n  int iStack_24;\n  uint local_20;\n  int *piStack_1c;\n  \n  bVar50 = 0;\n  local_38 = &__DT_PLTGOT;\n  puStack_58 = *(uint **)(param_1 + 0x148);\n  if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    /* WARNING: Subroutine does not return */\n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    /* WARNING: Subroutine does not return */\n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    /* WARNING: Subroutine does not return */\n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }\n  return (Elf32_Ehdr *)0x0;\n}\n\n" comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment comment (ERROR "Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)" (binary_expression "Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00083a50(dword param_1,int param_2,uint *param_3)" identifier (argument_list "(dword param_1,int param_2,uint *param_3)" ( (ERROR "dword" identifier) identifier , (ERROR "int" identifier) identifier , (binary_expression "uint *param_3" identifier * identifier) ))))) (compound_statement "{\n  char *pcVar1;\n  uint *puVar2;\n  code *pcVar3;\n  int *piVar4;\n  int iVar5;\n  ushort uVar6;\n  bool bVar7;\n  bool bVar8;\n  longlong lVar9;\n  ulonglong uVar10;\n  ulonglong uVar11;\n  undefined1 uVar13;\n  ushort uVar14;\n  char cVar12;\n  int iVar15;\n  uint uVar16;\n  Elf32_Ehdr *pEVar17;\n  undefined4 uVar18;\n  undefined4 uVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined4 uVar22;\n  dword *pdVar23;\n  word *pwVar24;\n  int *piVar25;\n  uint uVar26;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  int *extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  byte bVar27;\n  byte bVar28;\n  Elf32_Ehdr *pEVar29;\n  undefined4 extraout_EDX;\n  undefined3 uVar32;\n  uint extraout_EDX_00;\n  uint extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined *puVar30;\n  uint uVar31;\n  undefined4 extraout_EDX_03;\n  byte *pbVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  uint uVar36;\n  byte *pbVar37;\n  Elf32_Ehdr *pEVar38;\n  dword dVar39;\n  uint uVar40;\n  byte *pbVar41;\n  Elf32_Ehdr *pEVar42;\n  Elf32_Ehdr *pEVar43;\n  Elf32_Ehdr *pEVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  bool bVar48;\n  bool bVar49;\n  byte bVar50;\n  undefined8 uVar51;\n  longlong lVar52;\n  ulonglong uVar53;\n  undefined1 auStack_1e8 [8];\n  undefined4 uStack_1e0;\n  Elf32_Ehdr *pEStack_1dc;\n  uint uStack_1d8;\n  int iStack_1d4;\n  uint uStack_1d0;\n  byte *pbStack_1cc;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  uint uStack_1c0;\n  int iStack_1bc;\n  word *pwStack_1b8;\n  char cStack_1b2;\n  char cStack_1b1;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  Elf32_Ehdr *pEStack_1a8;\n  Elf32_Ehdr *pEStack_1a4;\n  uint uStack_1a0;\n  int iStack_19c;\n  dword *pdStack_198;\n  undefined *puStack_194;\n  uint uStack_190;\n  int *piStack_18c;\n  dword *pdStack_188;\n  dword *pdStack_184;\n  int iStack_180;\n  Elf32_Ehdr *pEStack_17c;\n  Elf32_Ehdr *pEStack_178;\n  Elf32_Ehdr *pEStack_174;\n  Elf32_Ehdr *pEStack_170;\n  Elf32_Ehdr *pEStack_16c;\n  Elf32_Ehdr *pEStack_168;\n  int iStack_164;\n  Elf32_Ehdr *pEStack_160;\n  Elf32_Ehdr *pEStack_158;\n  Elf32_Ehdr *pEStack_154;\n  int iStack_14c;\n  undefined1 uStack_13d;\n  int iStack_13c;\n  undefined *puStack_138;\n  undefined1 auStack_134 [4];\n  undefined1 auStack_130 [8];\n  undefined8 uStack_128;\n  undefined8 uStack_120;\n  Elf32_Ehdr EStack_104;\n  undefined *puStack_d0;\n  dword adStack_cc [5];\n  undefined1 *apuStack_b8 [2];\n  undefined1 auStack_b0 [16];\n  char acStack_a0 [28];\n  Elf32_Ehdr *pEStack_84;\n  Elf32_Ehdr *pEStack_80;\n  undefined1 auStack_7c [8];\n  Elf32_Ehdr *pEStack_74;\n  dword dStack_60;\n  undefined **ppuStack_5c;\n  uint *puStack_58;\n  undefined **ppuStack_54;\n  Elf32_Ehdr *pEStack_50;\n  int iStack_48;\n  Elf32_Ehdr *local_44;\n  uint local_40;\n  uint *puStack_3c;\n  undefined **local_38;\n  int local_34;\n  int local_30;\n  int iStack_2c;\n  uint uStack_28;\n  int iStack_24;\n  uint local_20;\n  int *piStack_1c;\n  \n  bVar50 = 0;\n  local_38 = &__DT_PLTGOT;\n  puStack_58 = *(uint **)(param_1 + 0x148);\n  if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    /* WARNING: Subroutine does not return */\n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    /* WARNING: Subroutine does not return */\n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    /* WARNING: Subroutine does not return */\n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }\n  return (Elf32_Ehdr *)0x0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "longlong lVar9;" type_identifier identifier ;) (declaration "ulonglong uVar10;" type_identifier identifier ;) (declaration "ulonglong uVar11;" type_identifier identifier ;) (declaration "undefined1 uVar13;" type_identifier identifier ;) (declaration "ushort uVar14;" type_identifier identifier ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar17;" type_identifier (pointer_declarator "*pEVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "dword *pdVar23;" type_identifier (pointer_declarator "*pdVar23" * identifier) ;) (declaration "word *pwVar24;" type_identifier (pointer_declarator "*pwVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int *extraout_ECX;" primitive_type (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int *extraout_ECX_00;" primitive_type (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "undefined4 extraout_ECX_01;" type_identifier identifier ;) (declaration "int *extraout_ECX_02;" primitive_type (pointer_declarator "*extraout_ECX_02" * identifier) ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "byte bVar28;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar29;" type_identifier (pointer_declarator "*pEVar29" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "undefined3 uVar32;" type_identifier identifier ;) (declaration "uint extraout_EDX_00;" type_identifier identifier ;) (declaration "uint extraout_EDX_01;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_02;" type_identifier identifier ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_03;" type_identifier identifier ;) (declaration "byte *pbVar33;" type_identifier (pointer_declarator "*pbVar33" * identifier) ;) (declaration "undefined1 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "Elf32_Ehdr *pEVar38;" type_identifier (pointer_declarator "*pEVar38" * identifier) ;) (declaration "dword dVar39;" type_identifier identifier ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "byte *pbVar41;" type_identifier (pointer_declarator "*pbVar41" * identifier) ;) (declaration "Elf32_Ehdr *pEVar42;" type_identifier (pointer_declarator "*pEVar42" * identifier) ;) (declaration "Elf32_Ehdr *pEVar43;" type_identifier (pointer_declarator "*pEVar43" * identifier) ;) (declaration "Elf32_Ehdr *pEVar44;" type_identifier (pointer_declarator "*pEVar44" * identifier) ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "bool bVar46;" primitive_type identifier ;) (declaration "bool bVar47;" primitive_type identifier ;) (declaration "bool bVar48;" primitive_type identifier ;) (declaration "bool bVar49;" primitive_type identifier ;) (declaration "byte bVar50;" type_identifier identifier ;) (declaration "undefined8 uVar51;" type_identifier identifier ;) (declaration "longlong lVar52;" type_identifier identifier ;) (declaration "ulonglong uVar53;" type_identifier identifier ;) (declaration "undefined1 auStack_1e8 [8];" type_identifier (array_declarator "auStack_1e8 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_1e0;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEStack_1dc;" type_identifier (pointer_declarator "*pEStack_1dc" * identifier) ;) (declaration "uint uStack_1d8;" type_identifier identifier ;) (declaration "int iStack_1d4;" primitive_type identifier ;) (declaration "uint uStack_1d0;" type_identifier identifier ;) (declaration "byte *pbStack_1cc;" type_identifier (pointer_declarator "*pbStack_1cc" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1c8;" type_identifier (pointer_declarator "*pEStack_1c8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1c4;" type_identifier (pointer_declarator "*pEStack_1c4" * identifier) ;) (declaration "uint uStack_1c0;" type_identifier identifier ;) (declaration "int iStack_1bc;" primitive_type identifier ;) (declaration "word *pwStack_1b8;" type_identifier (pointer_declarator "*pwStack_1b8" * identifier) ;) (declaration "char cStack_1b2;" primitive_type identifier ;) (declaration "char cStack_1b1;" primitive_type identifier ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ac;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEStack_1a8;" type_identifier (pointer_declarator "*pEStack_1a8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1a4;" type_identifier (pointer_declarator "*pEStack_1a4" * identifier) ;) (declaration "uint uStack_1a0;" type_identifier identifier ;) (declaration "int iStack_19c;" primitive_type identifier ;) (declaration "dword *pdStack_198;" type_identifier (pointer_declarator "*pdStack_198" * identifier) ;) (declaration "undefined *puStack_194;" type_identifier (pointer_declarator "*puStack_194" * identifier) ;) (declaration "uint uStack_190;" type_identifier identifier ;) (declaration "int *piStack_18c;" primitive_type (pointer_declarator "*piStack_18c" * identifier) ;) (declaration "dword *pdStack_188;" type_identifier (pointer_declarator "*pdStack_188" * identifier) ;) (declaration "dword *pdStack_184;" type_identifier (pointer_declarator "*pdStack_184" * identifier) ;) (declaration "int iStack_180;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_17c;" type_identifier (pointer_declarator "*pEStack_17c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_178;" type_identifier (pointer_declarator "*pEStack_178" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_174;" type_identifier (pointer_declarator "*pEStack_174" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_170;" type_identifier (pointer_declarator "*pEStack_170" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_16c;" type_identifier (pointer_declarator "*pEStack_16c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_168;" type_identifier (pointer_declarator "*pEStack_168" * identifier) ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_160;" type_identifier (pointer_declarator "*pEStack_160" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_158;" type_identifier (pointer_declarator "*pEStack_158" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_154;" type_identifier (pointer_declarator "*pEStack_154" * identifier) ;) (declaration "int iStack_14c;" primitive_type identifier ;) (declaration "undefined1 uStack_13d;" type_identifier identifier ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "undefined *puStack_138;" type_identifier (pointer_declarator "*puStack_138" * identifier) ;) (declaration "undefined1 auStack_134 [4];" type_identifier (array_declarator "auStack_134 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_130 [8];" type_identifier (array_declarator "auStack_130 [8]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_128;" type_identifier identifier ;) (declaration "undefined8 uStack_120;" type_identifier identifier ;) (declaration "Elf32_Ehdr EStack_104;" type_identifier identifier ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "dword adStack_cc [5];" type_identifier (array_declarator "adStack_cc [5]" identifier [ number_literal ]) ;) (declaration "undefined1 *apuStack_b8 [2];" type_identifier (pointer_declarator "*apuStack_b8 [2]" * (array_declarator "apuStack_b8 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_b0 [16];" type_identifier (array_declarator "auStack_b0 [16]" identifier [ number_literal ]) ;) (declaration "char acStack_a0 [28];" primitive_type (array_declarator "acStack_a0 [28]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr *pEStack_84;" type_identifier (pointer_declarator "*pEStack_84" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_80;" type_identifier (pointer_declarator "*pEStack_80" * identifier) ;) (declaration "undefined1 auStack_7c [8];" type_identifier (array_declarator "auStack_7c [8]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr *pEStack_74;" type_identifier (pointer_declarator "*pEStack_74" * identifier) ;) (declaration "dword dStack_60;" type_identifier identifier ;) (declaration "undefined **ppuStack_5c;" type_identifier (pointer_declarator "**ppuStack_5c" * (pointer_declarator "*ppuStack_5c" * identifier)) ;) (declaration "uint *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "undefined **ppuStack_54;" type_identifier (pointer_declarator "**ppuStack_54" * (pointer_declarator "*ppuStack_54" * identifier)) ;) (declaration "Elf32_Ehdr *pEStack_50;" type_identifier (pointer_declarator "*pEStack_50" * identifier) ;) (declaration "int iStack_48;" primitive_type identifier ;) (declaration "Elf32_Ehdr *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint *puStack_3c;" type_identifier (pointer_declarator "*puStack_3c" * identifier) ;) (declaration "undefined **local_38;" type_identifier (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int iStack_2c;" primitive_type identifier ;) (declaration "uint uStack_28;" type_identifier identifier ;) (declaration "int iStack_24;" primitive_type identifier ;) (declaration "uint local_20;" type_identifier identifier ;) (declaration "int *piStack_1c;" primitive_type (pointer_declarator "*piStack_1c" * identifier) ;) (expression_statement "bVar50 = 0;" (assignment_expression "bVar50 = 0" identifier = number_literal) ;) (expression_statement "local_38 = &__DT_PLTGOT;" (assignment_expression "local_38 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puStack_58 = *(uint **)(param_1 + 0x148);" (assignment_expression "puStack_58 = *(uint **)(param_1 + 0x148)" identifier = (pointer_expression "*(uint **)(param_1 + 0x148)" * (cast_expression "(uint **)(param_1 + 0x148)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x148)" ( (binary_expression "param_1 + 0x148" identifier + number_literal) ))))) ;) (if_statement "if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    /* WARNING: Subroutine does not return */\n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    /* WARNING: Subroutine does not return */\n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    /* WARNING: Subroutine does not return */\n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }" if (parenthesized_expression "(puStack_58 != (uint *)0x0)" ( (binary_expression "puStack_58 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    /* WARNING: Subroutine does not return */\n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    /* WARNING: Subroutine does not return */\n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    /* WARNING: Subroutine does not return */\n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }" { (expression_statement "iVar20 = *(int *)(param_1 + 0x84);" (assignment_expression "iVar20 = *(int *)(param_1 + 0x84)" identifier = (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);" (assignment_expression "pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000)" identifier = (cast_expression "(Elf32_Ehdr *)(*param_3 + 0x8000)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x8000)" ( (binary_expression "*param_3 + 0x8000" (pointer_expression "*param_3" * identifier) + number_literal) )))) ;) (expression_statement "local_30 = param_2;" (assignment_expression "local_30 = param_2" identifier = identifier) ;) (if_statement "if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    /* WARNING: Subroutine does not return */\n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }" if (parenthesized_expression "((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58)" ( (binary_expression "(uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58" (call_expression "(uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x88) - iVar20 >> 3)" ( (binary_expression "*(int *)(param_1 + 0x88) - iVar20 >> 3" (binary_expression "*(int *)(param_1 + 0x88) - iVar20" (pointer_expression "*(int *)(param_1 + 0x88)" * (cast_expression "(int *)(param_1 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    /* WARNING: Subroutine does not return */\n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }" { (expression_statement "ppuStack_54 = (undefined **)0x2f6020;" (assignment_expression "ppuStack_54 = (undefined **)0x2f6020" identifier = (cast_expression "(undefined **)0x2f6020" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_5c = (undefined **)0x2f6e48;" (assignment_expression "ppuStack_5c = (undefined **)0x2f6e48" identifier = (cast_expression "(undefined **)0x2f6e48" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puStack_58 = (uint *)0x7f7;" (assignment_expression "puStack_58 = (uint *)0x7f7" identifier = (cast_expression "(uint *)0x7f7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) comment (expression_statement "dStack_60 = 0x83bdc;" (assignment_expression "dStack_60 = 0x83bdc" identifier = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);" (assignment_expression "puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8)" identifier = (cast_expression "(uint *)(iVar20 + (int)puStack_58 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + (int)puStack_58 * 8)" ( (binary_expression "iVar20 + (int)puStack_58 * 8" identifier + (binary_expression "(int)puStack_58 * 8" (cast_expression "(int)puStack_58" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);" (assignment_expression "local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_50 - *puVar2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_50 - *puVar2)" ( (binary_expression "(int)pEStack_50 - *puVar2" (cast_expression "(int)pEStack_50" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*puVar2" * identifier)) )))) ;) (expression_statement "local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);" (assignment_expression "local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2)" identifier = (binary_expression "((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2)" (parenthesized_expression "((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8))" ( (binary_expression "(param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)" (parenthesized_expression "(param_3[1] + (uint)(0xffff7fff < *param_3))" ( (binary_expression "param_3[1] + (uint)(0xffff7fff < *param_3)" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (call_expression "(uint)(0xffff7fff < *param_3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff7fff < *param_3)" ( (binary_expression "0xffff7fff < *param_3" number_literal < (pointer_expression "*param_3" * identifier)) )))) )) - (pointer_expression "*(int *)(iVar20 + 4 + (int)puStack_58 * 8)" * (cast_expression "(int *)(iVar20 + 4 + (int)puStack_58 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4 + (int)puStack_58 * 8)" ( (binary_expression "iVar20 + 4 + (int)puStack_58 * 8" (binary_expression "iVar20 + 4" identifier + number_literal) + (binary_expression "(int)puStack_58 * 8" (cast_expression "(int)puStack_58" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) )) - (call_expression "(uint)(pEStack_50 < *puVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEStack_50 < *puVar2)" ( (binary_expression "pEStack_50 < *puVar2" identifier < (pointer_expression "*puVar2" * identifier)) ))))) ;) (expression_statement "ppuStack_5c = (undefined **)(param_1 + 0x90);" (assignment_expression "ppuStack_5c = (undefined **)(param_1 + 0x90)" identifier = (cast_expression "(undefined **)(param_1 + 0x90)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) ;) (expression_statement "dStack_60 = 0x83ace;" (assignment_expression "dStack_60 = 0x83ace" identifier = number_literal) ;) (expression_statement "uVar51 = FUN_000b20e0();" (assignment_expression "uVar51 = FUN_000b20e0()" identifier = (call_expression "FUN_000b20e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar36 = (uint)((ulonglong)uVar51 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulonglong)uVar51 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar51 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar51 >> 0x20)" ( (binary_expression "(ulonglong)uVar51 >> 0x20" (cast_expression "(ulonglong)uVar51" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    /* WARNING: Subroutine does not return */\n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    /* WARNING: Subroutine does not return */\n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    /* WARNING: Subroutine does not return */\n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }" if (parenthesized_expression "(local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51))" ( (binary_expression "local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)" (binary_expression "local_40 < uVar36" identifier < identifier) || (binary_expression "local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)" (binary_expression "local_40 - uVar36" identifier - identifier) < (call_expression "(uint)(local_44 < (Elf32_Ehdr *)uVar51)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_44 < (Elf32_Ehdr *)uVar51)" ( (binary_expression "local_44 < (Elf32_Ehdr *)uVar51" identifier < (cast_expression "(Elf32_Ehdr *)uVar51" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) )) (compound_statement "{\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    /* WARNING: Subroutine does not return */\n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    /* WARNING: Subroutine does not return */\n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    /* WARNING: Subroutine does not return */\n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    /* WARNING: Subroutine does not return */\n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    /* WARNING: Subroutine does not return */\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */\n                    /* WARNING: Treating indirect jump as call */\n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    /* WARNING: Subroutine does not return */\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefine
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: bool make_toc_relative(Powerpc_relobj<64,_true> * this,\n   Target_powerpc<64,_true> * target, Address * value) */\n\nbool __thiscall\nanon_unknown.dwarf_2af53c::Powerpc_relobj<64,_true>::make_toc_relative\n          (Powerpc_relobj<64,_true> *this,Target_powerpc<64,_true> *target,Address *value)\n\n{\n  byte bVar1;\n  pointer puVar2;\n  int iVar3;\n  Input_file *pIVar4;\n  Input_file *pIVar5;\n  int iVar6;\n  Sized_relobj_file<64,_true> *in_EAX;\n  uint uVar7;\n  uint uVar8;\n  uchar *puVar9;\n  uint *in_ECX;\n  uint uVar10;\n  int in_EDX;\n  uint uVar11;\n  Elf_WXword EVar12;\n  Target_powerpc<64,_true> *in_stack_ffffffb4;\n  section_size_type vlen;\n  \n  uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.field_2.\n           _M_allocated_capacity;\n  if (uVar11 != 0) {\n    puVar2 = (in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.\n             _M_impl._M_start;\n    uVar7 = *in_ECX + 0x8000;\n    if ((uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n    }\n    uVar8 = uVar7 - (uint)puVar2[uVar11];\n    uVar7 = ((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)) -\n            (uint)(uVar7 < (uint)puVar2[uVar11]);\n    EVar12 = elfcpp::Elf_file<64,_true,_gold::Object>::section_size(&in_EAX->elf_file_,uVar11);\n    uVar11 = (uint)(EVar12 >> 0x20);\n    if (uVar7 < uVar11 || uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12)) {\n      iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc);\n      pIVar4 = *(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)\n      ;\n      pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_;\n      iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_;\n      if (((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))) {\n        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);\n        uVar11 = *(uint *)(puVar9 + uVar8);\n        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);\n        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }\n        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);\n        bVar1 = *(byte *)(iVar3 + 0x1c);\n        if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar8 = uVar7 - *(uint *)(iVar3 + 4);\n        uVar10 = uVar8 - 0x8000;\n        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);\n        if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }\n      }\n    }\n  }\n  return false;\n}\n\n" comment comment comment (declaration "bool __thiscall\nanon_unknown.dwarf_2af53c::Powerpc_relobj<64,_true>::make_toc_relative\n          (Powerpc_relobj<64,_true> *this,Target_powerpc<64,_true> *target,Address *value)\n\n{\n  byte bVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_2af53c::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::make_toc_relative\n          (Powerpc_relobj<64,_true> *this,Target_powerpc<64,_true> *target,Address *value)\n\n{\n  byte" identifier > : : (function_declarator "make_toc_relative\n          (Powerpc_relobj<64,_true> *this,Target_powerpc<64,_true> *target,Address *value)" identifier (parameter_list "(Powerpc_relobj<64,_true> *this,Target_powerpc<64,_true> *target,Address *value)" ( (parameter_declaration "Powerpc_relobj" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Target_powerpc" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *target" type_identifier (ERROR ">" >) (pointer_declarator "*target" * identifier)) , (parameter_declaration "Address *value" type_identifier (pointer_declarator "*value" * identifier)) ))) { identifier) identifier ;) (declaration "pointer puVar2;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "Input_file *pIVar4;" type_identifier (pointer_declarator "*pIVar4" * identifier) ;) (declaration "Input_file *pIVar5;" type_identifier (pointer_declarator "*pIVar5" * identifier) ;) (declaration "int iVar6;" primitive_type identifier ;) (expression_statement "Sized_relobj_file<64,_true> *in_EAX;" (update_expression "Sized_relobj_file<64,_true> *in_EAX" (binary_expression "Sized_relobj_file<64,_true> *in_EAX" (binary_expression "Sized_relobj_file<64" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*in_EAX" * identifier)) --) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uchar *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "uint *in_ECX;" type_identifier (pointer_declarator "*in_ECX" * identifier) ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "int in_EDX;" primitive_type identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "Elf_WXword EVar12;" type_identifier identifier ;) (expression_statement "Target_powerpc<64,_true> *in_stack_ffffffb4;" (update_expression "Target_powerpc<64,_true> *in_stack_ffffffb4" (binary_expression "Target_powerpc<64,_true> *in_stack_ffffffb4" (binary_expression "Target_powerpc<64" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*in_stack_ffffffb4" * identifier)) --) ;) (declaration "section_size_type vlen;" type_identifier identifier ;) (expression_statement "uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.field_2.\n           _M_allocated_capacity;" (field_expression "uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.field_2.\n           _M_allocated_capacity" (field_expression "uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.field_2" (field_expression "uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_" (field_expression "uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object" (field_expression "uVar11 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj" (assignment_expression "uVar11 = in_EAX[1].super_Sized_relobj<64" identifier = (binary_expression "in_EAX[1].super_Sized_relobj<64" (field_expression "in_EAX[1].super_Sized_relobj" (subscript_expression "in_EAX[1]" identifier [ number_literal ]) . field_identifier) < number_literal)) (ERROR ",_true>" , identifier >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) ;) (if_statement "if (uVar11 != 0) {\n    puVar2 = (in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.\n             _M_impl._M_start;\n    uVar7 = *in_ECX + 0x8000;\n    if ((uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n    }\n    uVar8 = uVar7 - (uint)puVar2[uVar11];\n    uVar7 = ((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)) -\n            (uint)(uVar7 < (uint)puVar2[uVar11]);\n    EVar12 = elfcpp::Elf_file<64,_true,_gold::Object>::section_size(&in_EAX->elf_file_,uVar11);\n    uVar11 = (uint)(EVar12 >> 0x20);\n    if (uVar7 < uVar11 || uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12)) {\n      iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc);\n      pIVar4 = *(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)\n      ;\n      pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_;\n      iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_;\n      if (((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))) {\n        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);\n        uVar11 = *(uint *)(puVar9 + uVar8);\n        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);\n        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }\n        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);\n        bVar1 = *(byte *)(iVar3 + 0x1c);\n        if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar8 = uVar7 - *(uint *)(iVar3 + 4);\n        uVar10 = uVar8 - 0x8000;\n        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);\n        if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }\n      }\n    }\n  }" if (parenthesized_expression "(uVar11 != 0)" ( (binary_expression "uVar11 != 0" identifier != number_literal) )) (compound_statement "{\n    puVar2 = (in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>.\n             _M_impl._M_start;\n    uVar7 = *in_ECX + 0x8000;\n    if ((uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n    }\n    uVar8 = uVar7 - (uint)puVar2[uVar11];\n    uVar7 = ((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)) -\n            (uint)(uVar7 < (uint)puVar2[uVar11]);\n    EVar12 = elfcpp::Elf_file<64,_true,_gold::Object>::section_size(&in_EAX->elf_file_,uVar11);\n    uVar11 = (uint)(EVar12 >> 0x20);\n    if (uVar7 < uVar11 || uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12)) {\n      iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc);\n      pIVar4 = *(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)\n      ;\n      pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_;\n      iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_;\n      if (((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))) {\n        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);\n        uVar11 = *(uint *)(puVar9 + uVar8);\n        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);\n        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }\n        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);\n        bVar1 = *(byte *)(iVar3 + 0x1c);\n        if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar8 = uVar7 - *(uint *)(iVar3 + 4);\n        uVar10 = uVar8 - 0x8000;\n        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);\n        if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }\n      }\n    }\n  }" { (ERROR "puVar2 = (in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base<long_long_unsigned_int,_std::" (comma_expression "puVar2 = (in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base<long_long_unsigned_int,_std" (assignment_expression "puVar2 = (in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base<long_long_unsigned_int" identifier = (binary_expression "(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base<long_long_unsigned_int" (field_expression "(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n             super__Vector_base" (field_expression "(in_EAX->super_Sized_relobj<64,_true>).section_offsets_" (parenthesized_expression "(in_EAX->super_Sized_relobj<64,_true>)" ( (comma_expression "in_EAX->super_Sized_relobj<64,_true" (binary_expression "in_EAX->super_Sized_relobj<64" (field_expression "in_EAX->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) < identifier)) , identifier) : :) (expression_statement "allocator<long_long_unsigned_int>_>.\n             _M_impl._M_start;" (field_expression "allocator<long_long_unsigned_int>_>.\n             _M_impl._M_start" (field_expression "allocator<long_long_unsigned_int>_>.\n             _M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar7 = *in_ECX + 0x8000;" (assignment_expression "uVar7 = *in_ECX + 0x8000" identifier = (binary_expression "*in_ECX + 0x8000" (pointer_expression "*in_ECX" * identifier) + number_literal)) ;) (if_statement "if ((uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3) <= uVar11) {\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n    }" if (parenthesized_expression "((uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3) <= uVar11)" ( (binary_expression "(uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3) <= uVar11" (call_expression "(uint)((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int,_std::allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3)" ( (binary_expression "(int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base<long_long_unsigned_int" (cast_expression "(int)(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base" ( (type_descriptor "int" primitive_type) ) (field_expression "(in_EAX->super_Sized_relobj<64,_true>).section_offsets_.\n                    super__Vector_base" (field_expression "(in_EAX->super_Sized_relobj<64,_true>).section_offsets_" (parenthesized_expression "(in_EAX->super_Sized_relobj<64,_true>)" ( (comma_expression "in_EAX->super_Sized_relobj<64,_true" (binary_expression "in_EAX->super_Sized_relobj<64" (field_expression "in_EAX->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier)) < identifier) , (ERROR "_std::" identifier : :) (binary_expression "allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2 >> 3" (binary_expression "allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish - (int)puVar2" (field_expression "allocator<long_long_unsigned_int>_>\n                    ._M_impl._M_finish" (field_expression "allocator<long_long_unsigned_int>_>\n                    ._M_impl" (binary_expression "allocator<long_long_unsigned_int>_" (binary_expression "allocator<long_long_unsigned_int" identifier < identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) - (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) ))) <= identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");\n    }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset");" (call_expression "do_gold_unreachable("../../gold/object.h",0x7f7,"get_output_section_offset")" identifier (argument_list "("../../gold/object.h",0x7f7,"get_output_section_offset")" ( (string_literal ""../../gold/object.h"" " string_content ") , number_literal , (string_literal ""get_output_section_offset"" " string_content ") ))) ;)) })) (expression_statement "uVar8 = uVar7 - (uint)puVar2[uVar11];" (assignment_expression "uVar8 = uVar7 - (uint)puVar2[uVar11]" identifier = (binary_expression "uVar7 - (uint)puVar2[uVar11]" identifier - (cast_expression "(uint)puVar2[uVar11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar2[uVar11]" identifier [ identifier ])))) ;) (expression_statement "uVar7 = ((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)) -\n            (uint)(uVar7 < (uint)puVar2[uVar11]);" (assignment_expression "uVar7 = ((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)) -\n            (uint)(uVar7 < (uint)puVar2[uVar11])" identifier = (binary_expression "((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)) -\n            (uint)(uVar7 < (uint)puVar2[uVar11])" (parenthesized_expression "((in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4))" ( (binary_expression "(in_ECX[1] + (uint)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + uVar11 * 8 + 4)" (parenthesized_expression "(in_ECX[1] + (uint)(0xffff7fff < *in_ECX))" ( (binary_expression "in_ECX[1] + (uint)(0xffff7fff < *in_ECX)" (subscript_expression "in_ECX[1]" identifier [ number_literal ]) + (call_expression "(uint)(0xffff7fff < *in_ECX)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff7fff < *in_ECX)" ( (binary_expression "0xffff7fff < *in_ECX" number_literal < (pointer_expression "*in_ECX" * identifier)) )))) )) - (pointer_expression "*(int *)((int)puVar2 + uVar11 * 8 + 4)" * (cast_expression "(int *)((int)puVar2 + uVar11 * 8 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)puVar2 + uVar11 * 8 + 4)" ( (binary_expression "(int)puVar2 + uVar11 * 8 + 4" (binary_expression "(int)puVar2 + uVar11 * 8" (cast_expression "(int)puVar2" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar11 * 8" identifier * number_literal)) + number_literal) ))))) )) - (call_expression "(uint)(uVar7 < (uint)puVar2[uVar11])" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < (uint)puVar2[uVar11])" ( (binary_expression "uVar7 < (uint)puVar2[uVar11]" identifier < (cast_expression "(uint)puVar2[uVar11]" ( (type_descriptor "uint" type_identifier) ) (subscript_expression "puVar2[uVar11]" identifier [ identifier ]))) ))))) ;) (ERROR "EVar12 = elfcpp::Elf_file<64,_true,_gold::" (comma_expression "EVar12 = elfcpp::Elf_file<64,_true,_gold" (binary_expression "EVar12 = elfcpp::Elf_file<64" (assignment_expression "EVar12 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : :) (expression_statement "Object>::section_size(&in_EAX->elf_file_,uVar11);" (binary_expression "Object>::section_size(&in_EAX->elf_file_,uVar11)" identifier > (ERROR "::" : :) (call_expression "section_size(&in_EAX->elf_file_,uVar11)" identifier (argument_list "(&in_EAX->elf_file_,uVar11)" ( (pointer_expression "&in_EAX->elf_file_" & (field_expression "in_EAX->elf_file_" identifier -> field_identifier)) , identifier )))) ;) (expression_statement "uVar11 = (uint)(EVar12 >> 0x20);" (assignment_expression "uVar11 = (uint)(EVar12 >> 0x20)" identifier = (call_expression "(uint)(EVar12 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(EVar12 >> 0x20)" ( (binary_expression "EVar12 >> 0x20" identifier >> number_literal) )))) ;) (if_statement "if (uVar7 < uVar11 || uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12)) {\n      iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc);\n      pIVar4 = *(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)\n      ;\n      pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_;\n      iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_;\n      if (((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))) {\n        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);\n        uVar11 = *(uint *)(puVar9 + uVar8);\n        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);\n        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }\n        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);\n        bVar1 = *(byte *)(iVar3 + 0x1c);\n        if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar8 = uVar7 - *(uint *)(iVar3 + 4);\n        uVar10 = uVar8 - 0x8000;\n        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);\n        if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }\n      }\n    }" if (parenthesized_expression "(uVar7 < uVar11 || uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12))" ( (binary_expression "uVar7 < uVar11 || uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12)" (binary_expression "uVar7 < uVar11" identifier < identifier) || (binary_expression "uVar7 - uVar11 < (uint)(uVar8 < (uint)EVar12)" (binary_expression "uVar7 - uVar11" identifier - identifier) < (call_expression "(uint)(uVar8 < (uint)EVar12)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar8 < (uint)EVar12)" ( (binary_expression "uVar8 < (uint)EVar12" identifier < (cast_expression "(uint)EVar12" ( (type_descriptor "uint" type_identifier) ) identifier)) ))))) )) (compound_statement "{\n      iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc);\n      pIVar4 = *(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)\n      ;\n      pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_;\n      iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_;\n      if (((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))) {\n        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);\n        uVar11 = *(uint *)(puVar9 + uVar8);\n        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);\n        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }\n        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);\n        bVar1 = *(byte *)(iVar3 + 0x1c);\n        if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar8 = uVar7 - *(uint *)(iVar3 + 4);\n        uVar10 = uVar8 - 0x8000;\n        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);\n        if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }\n      }\n    }" { (expression_statement "iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc);" (assignment_expression "iVar3 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc)" identifier = (pointer_expression "*(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc)" * (cast_expression "(int *)((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc)" ( (comma_expression "(int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc" (binary_expression "(int)&in_EAX[1].super_Sized_relobj<64" (cast_expression "(int)&in_EAX[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_EAX[1].super_Sized_relobj" & (field_expression "in_EAX[1].super_Sized_relobj" (subscript_expression "in_EAX[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.super_Object.name_.\n                             field_2 + 0xc" (field_expression "_true>.super_Relobj.super_Object.name_.\n                             field_2" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) ))))) ;) (expression_statement "pIVar4 = *(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)\n      ;" (assignment_expression "pIVar4 = *(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)" identifier = (pointer_expression "*(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)" * (cast_expression "(Input_file **)\n                ((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)" ( (type_descriptor "Input_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4)" ( (comma_expression "(int)&in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_ + 4" (binary_expression "(int)&in_EAX[1].super_Sized_relobj<64" (cast_expression "(int)&in_EAX[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&in_EAX[1].super_Sized_relobj" & (field_expression "in_EAX[1].super_Sized_relobj" (subscript_expression "in_EAX[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.super_Object.offset_ + 4" (field_expression "_true>.super_Relobj.super_Object.offset_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) + number_literal)) ))))) ;) (expression_statement "pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_;" (comma_expression "pIVar5 = in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.input_file_" (assignment_expression "pIVar5 = in_EAX[1].super_Sized_relobj<64" identifier = (binary_expression "in_EAX[1].super_Sized_relobj<64" (field_expression "in_EAX[1].super_Sized_relobj" (subscript_expression "in_EAX[1]" identifier [ number_literal ]) . field_identifier) < number_literal)) , (field_expression "_true>.super_Relobj.super_Object.input_file_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_;" (comma_expression "iVar6 = (int)in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.offset_" (assignment_expression "iVar6 = (int)in_EAX[1].super_Sized_relobj<64" identifier = (binary_expression "(int)in_EAX[1].super_Sized_relobj<64" (cast_expression "(int)in_EAX[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (field_expression "in_EAX[1].super_Sized_relobj" (subscript_expression "in_EAX[1]" identifier [ number_literal ]) . field_identifier)) < number_literal)) , (field_expression "_true>.super_Relobj.super_Object.offset_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (if_statement "if (((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))) {\n        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);\n        uVar11 = *(uint *)(puVar9 + uVar8);\n        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);\n        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }\n        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);\n        bVar1 = *(byte *)(iVar3 + 0x1c);\n        if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar8 = uVar7 - *(uint *)(iVar3 + 4);\n        uVar10 = uVar8 - 0x8000;\n        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);\n        if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }\n      }" if (parenthesized_expression "(((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0))))" ( (binary_expression "((pIVar4 == pIVar5) && (iVar6 == iVar3)) ||\n         ((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))" (parenthesized_expression "((pIVar4 == pIVar5) && (iVar6 == iVar3))" ( (binary_expression "(pIVar4 == pIVar5) && (iVar6 == iVar3)" (parenthesized_expression "(pIVar4 == pIVar5)" ( (binary_expression "pIVar4 == pIVar5" identifier == identifier) )) && (parenthesized_expression "(iVar6 == iVar3)" ( (binary_expression "iVar6 == iVar3" identifier == identifier) ))) )) || (parenthesized_expression "((uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)))" ( (parenthesized_expression "(uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0))" ( (comma_expression "uVar11 = uVar8 >> 3 | uVar7 * 0x20000000,\n          uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)" (assignment_expression "uVar11 = uVar8 >> 3 | uVar7 * 0x20000000" identifier = (binary_expression "uVar8 >> 3 | uVar7 * 0x20000000" (binary_expression "uVar8 >> 3" identifier >> number_literal) | (binary_expression "uVar7 * 0x20000000" identifier * number_literal))) , (binary_expression "uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))) &&\n          ((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)" (binary_expression "uVar7 >> 3 < (uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5)))" (binary_expression "uVar7 >> 3" identifier >> number_literal) < (call_expression "(uint)(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5)))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5)))" ( (binary_expression "uVar11 < (uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))" identifier < (call_expression "(uint)((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5))" ( (binary_expression "(int)pIVar4 + ((iVar6 - iVar3) * 8 - (int)pIVar5)" (cast_expression "(int)pIVar4" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((iVar6 - iVar3) * 8 - (int)pIVar5)" ( (binary_expression "(iVar6 - iVar3) * 8 - (int)pIVar5" (binary_expression "(iVar6 - iVar3) * 8" (parenthesized_expression "(iVar6 - iVar3)" ( (binary_expression "iVar6 - iVar3" identifier - identifier) )) * number_literal) - (cast_expression "(int)pIVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ))) )))) )))) && (parenthesized_expression "((*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0)" ( (binary_expression "(*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)) == 0" (parenthesized_expression "(*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f))" ( (binary_expression "*(uint *)(iVar3 + (uVar11 >> 5) * 4) & 1 << ((byte)(uVar8 >> 3) & 0x1f)" (pointer_expression "*(uint *)(iVar3 + (uVar11 >> 5) * 4)" * (cast_expression "(uint *)(iVar3 + (uVar11 >> 5) * 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + (uVar11 >> 5) * 4)" ( (binary_expression "iVar3 + (uVar11 >> 5) * 4" identifier + (binary_expression "(uVar11 >> 5) * 4" (parenthesized_expression "(uVar11 >> 5)" ( (binary_expression "uVar11 >> 5" identifier >> number_literal) )) * number_literal)) )))) & (binary_expression "1 << ((byte)(uVar8 >> 3) & 0x1f)" number_literal << (parenthesized_expression "((byte)(uVar8 >> 3) & 0x1f)" ( (binary_expression "(byte)(uVar8 >> 3) & 0x1f" (call_expression "(byte)(uVar8 >> 3)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(uVar8 >> 3)" ( (binary_expression "uVar8 >> 3" identifier >> number_literal) ))) & number_literal) )))) )) == number_literal) )))) )) ))) )) (compound_statement "{\n        puVar9 = gold::Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);\n        uVar11 = *(uint *)(puVar9 + uVar8);\n        uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);\n        uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n        if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }\n        iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);\n        bVar1 = *(byte *)(iVar3 + 0x1c);\n        if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }\n        uVar8 = uVar7 - *(uint *)(iVar3 + 4);\n        uVar10 = uVar8 - 0x8000;\n        uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);\n        if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }\n      }" { (ERROR "puVar9 = gold::" (assignment_expression "puVar9 = gold" identifier = identifier) : :) (expression_statement "Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen);" (comma_expression "Sized_relobj_file<64,_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen)" (binary_expression "Sized_relobj_file<64" identifier < number_literal) , (binary_expression "_true>::do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen)" identifier > (ERROR "::" : :) (call_expression "do_get_output_view\n                           (in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen)" identifier (argument_list "(in_EAX,in_EAX[1].super_Sized_relobj<64,_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity,&vlen)" ( identifier , (binary_expression "in_EAX[1].super_Sized_relobj<64" (field_expression "in_EAX[1].super_Sized_relobj" (subscript_expression "in_EAX[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (field_expression "_true>.super_Relobj.super_Object.\n                                   name_.field_2._M_allocated_capacity" (field_expression "_true>.super_Relobj.super_Object.\n                                   name_.field_2" (field_expression "_true>.super_Relobj.super_Object.\n                                   name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) , (pointer_expression "&vlen" & identifier) ))))) ;) (expression_statement "uVar11 = *(uint *)(puVar9 + uVar8);" (assignment_expression "uVar11 = *(uint *)(puVar9 + uVar8)" identifier = (pointer_expression "*(uint *)(puVar9 + uVar8)" * (cast_expression "(uint *)(puVar9 + uVar8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar9 + uVar8)" ( (binary_expression "puVar9 + uVar8" identifier + identifier) ))))) ;) (expression_statement "uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4);" (assignment_expression "uVar7 = *(uint *)((int)(puVar9 + uVar8) + 4)" identifier = (pointer_expression "*(uint *)((int)(puVar9 + uVar8) + 4)" * (cast_expression "(uint *)((int)(puVar9 + uVar8) + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)(puVar9 + uVar8) + 4)" ( (binary_expression "(int)(puVar9 + uVar8) + 4" (cast_expression "(int)(puVar9 + uVar8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar9 + uVar8)" ( (binary_expression "puVar9 + uVar8" identifier + identifier) ))) + number_literal) ))))) ;) (expression_statement "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "uVar7 = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" identifier = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) (if_statement "if (*(int *)(in_EDX + 0x14) == 0) {\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }" if (parenthesized_expression "(*(int *)(in_EDX + 0x14) == 0)" ( (binary_expression "*(int *)(in_EDX + 0x14) == 0" (pointer_expression "*(int *)(in_EDX + 0x14)" * (cast_expression "(int *)(in_EDX + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EDX + 0x14)" ( (binary_expression "in_EDX + 0x14" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);\n        }" { comment (expression_statement "Target_powerpc<64,_true>::got_section(in_stack_ffffffb4);" (comma_expression "Target_powerpc<64,_true>::got_section(in_stack_ffffffb4)" (binary_expression "Target_powerpc<64" identifier < number_literal) , (binary_expression "_true>::got_section(in_stack_ffffffb4)" identifier > (ERROR "::" : :) (call_expression "got_section(in_stack_ffffffb4)" identifier (argument_list "(in_stack_ffffffb4)" ( identifier ))))) ;) })) (expression_statement "iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20);" (assignment_expression "iVar3 = *(int *)(*(int *)(in_EDX + 0x14) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(in_EDX + 0x14) + 0x20)" * (cast_expression "(int *)(*(int *)(in_EDX + 0x14) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(in_EDX + 0x14) + 0x20)" ( (binary_expression "*(int *)(in_EDX + 0x14) + 0x20" (pointer_expression "*(int *)(in_EDX + 0x14)" * (cast_expression "(int *)(in_EDX + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EDX + 0x14)" ( (binary_expression "in_EDX + 0x14" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "bVar1 = *(byte *)(iVar3 + 0x1c);" (assignment_expression "bVar1 = *(byte *)(iVar3 + 0x1c)" identifier = (pointer_expression "*(byte *)(iVar3 + 0x1c)" * (cast_expression "(byte *)(iVar3 + 0x1c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 0x1c)" ( (binary_expression "iVar3 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if ((bVar1 & 1) == 0) {\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" if (parenthesized_expression "((bVar1 & 1) == 0)" ( (binary_expression "(bVar1 & 1) == 0" (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");\n        }" { comment (labeled_statement "gold::do_gold_unreachable("../../gold/output.h",0xc5,"address");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/output.h",0xc5,"address");" (call_expression "do_gold_unreachable("../../gold/output.h",0xc5,"address")" identifier (argument_list "("../../gold/output.h",0xc5,"address")" ( (string_literal ""../../gold/output.h"" " string_content ") , number_literal , (string_literal ""address"" " string_content ") ))) ;)) })) (expression_statement "uVar8 = uVar7 - *(uint *)(iVar3 + 4);" (assignment_expression "uVar8 = uVar7 - *(uint *)(iVar3 + 4)" identifier = (binary_expression "uVar7 - *(uint *)(iVar3 + 4)" identifier - (pointer_expression "*(uint *)(iVar3 + 4)" * (cast_expression "(uint *)(iVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) )))))) ;) (expression_statement "uVar10 = uVar8 - 0x8000;" (assignment_expression "uVar10 = uVar8 - 0x8000" identifier = (binary_expression "uVar8 - 0x8000" identifier - number_literal)) ;) (expression_statement "uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8);" (assignment_expression "uVar11 = (((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8)" identifier = (binary_expression "(((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1 + (uint)(0x7fff < uVar8)" (binary_expression "(((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))) +\n                 -1" (parenthesized_expression "(((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4)))" ( (binary_expression "((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)) - (uint)(uVar7 < *(uint *)(iVar3 + 4))" (parenthesized_expression "((uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8))" ( (binary_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18) - *(int *)(iVar3 + 8)" (parenthesized_expression "(uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18)" ( (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8 |\n                   uVar11 << 0x18" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8 | (uVar11 & 0xff00) << 8" (binary_expression "uVar11 >> 0x18 | (uVar11 & 0xff0000) >> 8" (binary_expression "uVar11 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff0000) >> 8" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00) << 8" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x18" identifier << number_literal)) )) - (pointer_expression "*(int *)(iVar3 + 8)" * (cast_expression "(int *)(iVar3 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 8)" ( (binary_expression "iVar3 + 8" identifier + number_literal) ))))) )) - (call_expression "(uint)(uVar7 < *(uint *)(iVar3 + 4))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(iVar3 + 4))" ( (binary_expression "uVar7 < *(uint *)(iVar3 + 4)" identifier < (pointer_expression "*(uint *)(iVar3 + 4)" * (cast_expression "(uint *)(iVar3 + 4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar3 + 4)" ( (binary_expression "iVar3 + 4" identifier + number_literal) ))))) )))) )) + number_literal) + (call_expression "(uint)(0x7fff < uVar8)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x7fff < uVar8)" ( (binary_expression "0x7fff < uVar8" number_literal < identifier) ))))) ;) (if_statement "if (uVar11 + (0x7fff7fff < uVar10) == 0) {\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }" if (parenthesized_expression "(uVar11 + (0x7fff7fff < uVar10) == 0)" ( (binary_expression "uVar11 + (0x7fff7fff < uVar10) == 0" (binary_expression "uVar11 + (0x7fff7fff < uVar10)" identifier + (parenthesized_expression "(0x7fff7fff < uVar10)" ( (binary_expression "0x7fff7fff < uVar10" number_literal < identifier) ))) == number_literal) )) (compound_statement "{\n          *in_ECX = uVar10;\n          in_ECX[1] = uVar11;\n          return (bool)(bVar1 & 1);\n        }" { (expression_statement "*in_ECX = uVar10;" (assignment_expression "*in_ECX = uVar10" (pointer_expression "*in_ECX" * identifier) = identifier) ;) (expression_statement "in_ECX[1] = uVar11;" (assignment_expression "in_ECX[1] = uVar11" (subscript_expression "in_ECX[1]" identifier [ number_literal ]) = identifier) ;) (return_statement "return (bool)(bVar1 & 1);" return (cast_expression "(bool)(bVar1 & 1)" ( (type_descriptor "bool" primitive_type) ) (parenthesized_expression "(bVar1 & 1)" ( (binary_expression "bVar1 & 1" identifier & number_literal) ))) ;) })) })) })) })) (return_statement "return false;" return false ;) (ERROR "}" }))
(translation_unit "Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)\n\n{\n  char *pcVar1;\n  uint *puVar2;\n  code *pcVar3;\n  int *piVar4;\n  int iVar5;\n  ushort uVar6;\n  bool bVar7;\n  bool bVar8;\n  longlong lVar9;\n  ulonglong uVar10;\n  ulonglong uVar11;\n  undefined1 uVar13;\n  ushort uVar14;\n  char cVar12;\n  int iVar15;\n  uint uVar16;\n  Elf32_Ehdr *pEVar17;\n  undefined4 uVar18;\n  undefined4 uVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined4 uVar22;\n  dword *pdVar23;\n  word *pwVar24;\n  int *piVar25;\n  uint uVar26;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  int *extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  byte bVar27;\n  byte bVar28;\n  Elf32_Ehdr *pEVar29;\n  undefined4 extraout_EDX;\n  undefined3 uVar32;\n  uint extraout_EDX_00;\n  uint extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined *puVar30;\n  uint uVar31;\n  undefined4 extraout_EDX_03;\n  byte *pbVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  uint uVar36;\n  byte *pbVar37;\n  Elf32_Ehdr *pEVar38;\n  dword dVar39;\n  uint uVar40;\n  byte *pbVar41;\n  Elf32_Ehdr *pEVar42;\n  Elf32_Ehdr *pEVar43;\n  Elf32_Ehdr *pEVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  bool bVar48;\n  bool bVar49;\n  byte bVar50;\n  undefined8 uVar51;\n  longlong lVar52;\n  ulonglong uVar53;\n  undefined1 auStack_1e8 [8];\n  undefined4 uStack_1e0;\n  Elf32_Ehdr *pEStack_1dc;\n  uint uStack_1d8;\n  int iStack_1d4;\n  uint uStack_1d0;\n  byte *pbStack_1cc;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  uint uStack_1c0;\n  int iStack_1bc;\n  word *pwStack_1b8;\n  char cStack_1b2;\n  char cStack_1b1;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  Elf32_Ehdr *pEStack_1a8;\n  Elf32_Ehdr *pEStack_1a4;\n  uint uStack_1a0;\n  int iStack_19c;\n  dword *pdStack_198;\n  undefined *puStack_194;\n  uint uStack_190;\n  int *piStack_18c;\n  dword *pdStack_188;\n  dword *pdStack_184;\n  int iStack_180;\n  Elf32_Ehdr *pEStack_17c;\n  Elf32_Ehdr *pEStack_178;\n  Elf32_Ehdr *pEStack_174;\n  Elf32_Ehdr *pEStack_170;\n  Elf32_Ehdr *pEStack_16c;\n  Elf32_Ehdr *pEStack_168;\n  int iStack_164;\n  Elf32_Ehdr *pEStack_160;\n  Elf32_Ehdr *pEStack_158;\n  Elf32_Ehdr *pEStack_154;\n  int iStack_14c;\n  undefined1 uStack_13d;\n  int iStack_13c;\n  undefined *puStack_138;\n  undefined1 auStack_134 [4];\n  undefined1 auStack_130 [8];\n  undefined8 uStack_128;\n  undefined8 uStack_120;\n  Elf32_Ehdr EStack_104;\n  undefined *puStack_d0;\n  dword adStack_cc [5];\n  undefined1 *apuStack_b8 [2];\n  undefined1 auStack_b0 [16];\n  char acStack_a0 [28];\n  Elf32_Ehdr *pEStack_84;\n  Elf32_Ehdr *pEStack_80;\n  undefined1 auStack_7c [8];\n  Elf32_Ehdr *pEStack_74;\n  dword dStack_60;\n  undefined **ppuStack_5c;\n  uint *puStack_58;\n  undefined **ppuStack_54;\n  Elf32_Ehdr *pEStack_50;\n  int iStack_48;\n  Elf32_Ehdr *local_44;\n  uint local_40;\n  uint *puStack_3c;\n  undefined **local_38;\n  int local_34;\n  int local_30;\n  int iStack_2c;\n  uint uStack_28;\n  int iStack_24;\n  uint local_20;\n  int *piStack_1c;\n  \n  bVar50 = 0;\n  local_38 = &__DT_PLTGOT;\n  puStack_58 = *(uint **)(param_1 + 0x148);\n  if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }\n  return (Elf32_Ehdr *)0x0;\n}\n\n" (ERROR "Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)" (binary_expression "Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)" identifier * (ERROR "__regparm3" identifier) (call_expression "FUN_00083a50(dword param_1,int param_2,uint *param_3)" identifier (argument_list "(dword param_1,int param_2,uint *param_3)" ( (ERROR "dword" identifier) identifier , (ERROR "int" identifier) identifier , (binary_expression "uint *param_3" identifier * identifier) ))))) (compound_statement "{\n  char *pcVar1;\n  uint *puVar2;\n  code *pcVar3;\n  int *piVar4;\n  int iVar5;\n  ushort uVar6;\n  bool bVar7;\n  bool bVar8;\n  longlong lVar9;\n  ulonglong uVar10;\n  ulonglong uVar11;\n  undefined1 uVar13;\n  ushort uVar14;\n  char cVar12;\n  int iVar15;\n  uint uVar16;\n  Elf32_Ehdr *pEVar17;\n  undefined4 uVar18;\n  undefined4 uVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined4 uVar22;\n  dword *pdVar23;\n  word *pwVar24;\n  int *piVar25;\n  uint uVar26;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  int *extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  byte bVar27;\n  byte bVar28;\n  Elf32_Ehdr *pEVar29;\n  undefined4 extraout_EDX;\n  undefined3 uVar32;\n  uint extraout_EDX_00;\n  uint extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined *puVar30;\n  uint uVar31;\n  undefined4 extraout_EDX_03;\n  byte *pbVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  uint uVar36;\n  byte *pbVar37;\n  Elf32_Ehdr *pEVar38;\n  dword dVar39;\n  uint uVar40;\n  byte *pbVar41;\n  Elf32_Ehdr *pEVar42;\n  Elf32_Ehdr *pEVar43;\n  Elf32_Ehdr *pEVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  bool bVar48;\n  bool bVar49;\n  byte bVar50;\n  undefined8 uVar51;\n  longlong lVar52;\n  ulonglong uVar53;\n  undefined1 auStack_1e8 [8];\n  undefined4 uStack_1e0;\n  Elf32_Ehdr *pEStack_1dc;\n  uint uStack_1d8;\n  int iStack_1d4;\n  uint uStack_1d0;\n  byte *pbStack_1cc;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  uint uStack_1c0;\n  int iStack_1bc;\n  word *pwStack_1b8;\n  char cStack_1b2;\n  char cStack_1b1;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  Elf32_Ehdr *pEStack_1a8;\n  Elf32_Ehdr *pEStack_1a4;\n  uint uStack_1a0;\n  int iStack_19c;\n  dword *pdStack_198;\n  undefined *puStack_194;\n  uint uStack_190;\n  int *piStack_18c;\n  dword *pdStack_188;\n  dword *pdStack_184;\n  int iStack_180;\n  Elf32_Ehdr *pEStack_17c;\n  Elf32_Ehdr *pEStack_178;\n  Elf32_Ehdr *pEStack_174;\n  Elf32_Ehdr *pEStack_170;\n  Elf32_Ehdr *pEStack_16c;\n  Elf32_Ehdr *pEStack_168;\n  int iStack_164;\n  Elf32_Ehdr *pEStack_160;\n  Elf32_Ehdr *pEStack_158;\n  Elf32_Ehdr *pEStack_154;\n  int iStack_14c;\n  undefined1 uStack_13d;\n  int iStack_13c;\n  undefined *puStack_138;\n  undefined1 auStack_134 [4];\n  undefined1 auStack_130 [8];\n  undefined8 uStack_128;\n  undefined8 uStack_120;\n  Elf32_Ehdr EStack_104;\n  undefined *puStack_d0;\n  dword adStack_cc [5];\n  undefined1 *apuStack_b8 [2];\n  undefined1 auStack_b0 [16];\n  char acStack_a0 [28];\n  Elf32_Ehdr *pEStack_84;\n  Elf32_Ehdr *pEStack_80;\n  undefined1 auStack_7c [8];\n  Elf32_Ehdr *pEStack_74;\n  dword dStack_60;\n  undefined **ppuStack_5c;\n  uint *puStack_58;\n  undefined **ppuStack_54;\n  Elf32_Ehdr *pEStack_50;\n  int iStack_48;\n  Elf32_Ehdr *local_44;\n  uint local_40;\n  uint *puStack_3c;\n  undefined **local_38;\n  int local_34;\n  int local_30;\n  int iStack_2c;\n  uint uStack_28;\n  int iStack_24;\n  uint local_20;\n  int *piStack_1c;\n  \n  bVar50 = 0;\n  local_38 = &__DT_PLTGOT;\n  puStack_58 = *(uint **)(param_1 + 0x148);\n  if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }\n  return (Elf32_Ehdr *)0x0;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "uint *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "code *pcVar3;" type_identifier (pointer_declarator "*pcVar3" * identifier) ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "int iVar5;" primitive_type identifier ;) (declaration "ushort uVar6;" type_identifier identifier ;) (declaration "bool bVar7;" primitive_type identifier ;) (declaration "bool bVar8;" primitive_type identifier ;) (declaration "longlong lVar9;" type_identifier identifier ;) (declaration "ulonglong uVar10;" type_identifier identifier ;) (declaration "ulonglong uVar11;" type_identifier identifier ;) (declaration "undefined1 uVar13;" type_identifier identifier ;) (declaration "ushort uVar14;" type_identifier identifier ;) (declaration "char cVar12;" primitive_type identifier ;) (declaration "int iVar15;" primitive_type identifier ;) (declaration "uint uVar16;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar17;" type_identifier (pointer_declarator "*pEVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "undefined4 uVar19;" type_identifier identifier ;) (declaration "int iVar20;" primitive_type identifier ;) (declaration "undefined1 *puVar21;" type_identifier (pointer_declarator "*puVar21" * identifier) ;) (declaration "undefined4 uVar22;" type_identifier identifier ;) (declaration "dword *pdVar23;" type_identifier (pointer_declarator "*pdVar23" * identifier) ;) (declaration "word *pwVar24;" type_identifier (pointer_declarator "*pwVar24" * identifier) ;) (declaration "int *piVar25;" primitive_type (pointer_declarator "*piVar25" * identifier) ;) (declaration "uint uVar26;" type_identifier identifier ;) (declaration "int *extraout_ECX;" primitive_type (pointer_declarator "*extraout_ECX" * identifier) ;) (declaration "int *extraout_ECX_00;" primitive_type (pointer_declarator "*extraout_ECX_00" * identifier) ;) (declaration "undefined4 extraout_ECX_01;" type_identifier identifier ;) (declaration "int *extraout_ECX_02;" primitive_type (pointer_declarator "*extraout_ECX_02" * identifier) ;) (declaration "undefined4 extraout_ECX_03;" type_identifier identifier ;) (declaration "byte bVar27;" type_identifier identifier ;) (declaration "byte bVar28;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEVar29;" type_identifier (pointer_declarator "*pEVar29" * identifier) ;) (declaration "undefined4 extraout_EDX;" type_identifier identifier ;) (declaration "undefined3 uVar32;" type_identifier identifier ;) (declaration "uint extraout_EDX_00;" type_identifier identifier ;) (declaration "uint extraout_EDX_01;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_02;" type_identifier identifier ;) (declaration "undefined *puVar30;" type_identifier (pointer_declarator "*puVar30" * identifier) ;) (declaration "uint uVar31;" type_identifier identifier ;) (declaration "undefined4 extraout_EDX_03;" type_identifier identifier ;) (declaration "byte *pbVar33;" type_identifier (pointer_declarator "*pbVar33" * identifier) ;) (declaration "undefined1 *puVar34;" type_identifier (pointer_declarator "*puVar34" * identifier) ;) (declaration "undefined1 *puVar35;" type_identifier (pointer_declarator "*puVar35" * identifier) ;) (declaration "uint uVar36;" type_identifier identifier ;) (declaration "byte *pbVar37;" type_identifier (pointer_declarator "*pbVar37" * identifier) ;) (declaration "Elf32_Ehdr *pEVar38;" type_identifier (pointer_declarator "*pEVar38" * identifier) ;) (declaration "dword dVar39;" type_identifier identifier ;) (declaration "uint uVar40;" type_identifier identifier ;) (declaration "byte *pbVar41;" type_identifier (pointer_declarator "*pbVar41" * identifier) ;) (declaration "Elf32_Ehdr *pEVar42;" type_identifier (pointer_declarator "*pEVar42" * identifier) ;) (declaration "Elf32_Ehdr *pEVar43;" type_identifier (pointer_declarator "*pEVar43" * identifier) ;) (declaration "Elf32_Ehdr *pEVar44;" type_identifier (pointer_declarator "*pEVar44" * identifier) ;) (declaration "bool bVar45;" primitive_type identifier ;) (declaration "bool bVar46;" primitive_type identifier ;) (declaration "bool bVar47;" primitive_type identifier ;) (declaration "bool bVar48;" primitive_type identifier ;) (declaration "bool bVar49;" primitive_type identifier ;) (declaration "byte bVar50;" type_identifier identifier ;) (declaration "undefined8 uVar51;" type_identifier identifier ;) (declaration "longlong lVar52;" type_identifier identifier ;) (declaration "ulonglong uVar53;" type_identifier identifier ;) (declaration "undefined1 auStack_1e8 [8];" type_identifier (array_declarator "auStack_1e8 [8]" identifier [ number_literal ]) ;) (declaration "undefined4 uStack_1e0;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEStack_1dc;" type_identifier (pointer_declarator "*pEStack_1dc" * identifier) ;) (declaration "uint uStack_1d8;" type_identifier identifier ;) (declaration "int iStack_1d4;" primitive_type identifier ;) (declaration "uint uStack_1d0;" type_identifier identifier ;) (declaration "byte *pbStack_1cc;" type_identifier (pointer_declarator "*pbStack_1cc" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1c8;" type_identifier (pointer_declarator "*pEStack_1c8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1c4;" type_identifier (pointer_declarator "*pEStack_1c4" * identifier) ;) (declaration "uint uStack_1c0;" type_identifier identifier ;) (declaration "int iStack_1bc;" primitive_type identifier ;) (declaration "word *pwStack_1b8;" type_identifier (pointer_declarator "*pwStack_1b8" * identifier) ;) (declaration "char cStack_1b2;" primitive_type identifier ;) (declaration "char cStack_1b1;" primitive_type identifier ;) (declaration "uint uStack_1b0;" type_identifier identifier ;) (declaration "undefined4 uStack_1ac;" type_identifier identifier ;) (declaration "Elf32_Ehdr *pEStack_1a8;" type_identifier (pointer_declarator "*pEStack_1a8" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_1a4;" type_identifier (pointer_declarator "*pEStack_1a4" * identifier) ;) (declaration "uint uStack_1a0;" type_identifier identifier ;) (declaration "int iStack_19c;" primitive_type identifier ;) (declaration "dword *pdStack_198;" type_identifier (pointer_declarator "*pdStack_198" * identifier) ;) (declaration "undefined *puStack_194;" type_identifier (pointer_declarator "*puStack_194" * identifier) ;) (declaration "uint uStack_190;" type_identifier identifier ;) (declaration "int *piStack_18c;" primitive_type (pointer_declarator "*piStack_18c" * identifier) ;) (declaration "dword *pdStack_188;" type_identifier (pointer_declarator "*pdStack_188" * identifier) ;) (declaration "dword *pdStack_184;" type_identifier (pointer_declarator "*pdStack_184" * identifier) ;) (declaration "int iStack_180;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_17c;" type_identifier (pointer_declarator "*pEStack_17c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_178;" type_identifier (pointer_declarator "*pEStack_178" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_174;" type_identifier (pointer_declarator "*pEStack_174" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_170;" type_identifier (pointer_declarator "*pEStack_170" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_16c;" type_identifier (pointer_declarator "*pEStack_16c" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_168;" type_identifier (pointer_declarator "*pEStack_168" * identifier) ;) (declaration "int iStack_164;" primitive_type identifier ;) (declaration "Elf32_Ehdr *pEStack_160;" type_identifier (pointer_declarator "*pEStack_160" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_158;" type_identifier (pointer_declarator "*pEStack_158" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_154;" type_identifier (pointer_declarator "*pEStack_154" * identifier) ;) (declaration "int iStack_14c;" primitive_type identifier ;) (declaration "undefined1 uStack_13d;" type_identifier identifier ;) (declaration "int iStack_13c;" primitive_type identifier ;) (declaration "undefined *puStack_138;" type_identifier (pointer_declarator "*puStack_138" * identifier) ;) (declaration "undefined1 auStack_134 [4];" type_identifier (array_declarator "auStack_134 [4]" identifier [ number_literal ]) ;) (declaration "undefined1 auStack_130 [8];" type_identifier (array_declarator "auStack_130 [8]" identifier [ number_literal ]) ;) (declaration "undefined8 uStack_128;" type_identifier identifier ;) (declaration "undefined8 uStack_120;" type_identifier identifier ;) (declaration "Elf32_Ehdr EStack_104;" type_identifier identifier ;) (declaration "undefined *puStack_d0;" type_identifier (pointer_declarator "*puStack_d0" * identifier) ;) (declaration "dword adStack_cc [5];" type_identifier (array_declarator "adStack_cc [5]" identifier [ number_literal ]) ;) (declaration "undefined1 *apuStack_b8 [2];" type_identifier (pointer_declarator "*apuStack_b8 [2]" * (array_declarator "apuStack_b8 [2]" identifier [ number_literal ])) ;) (declaration "undefined1 auStack_b0 [16];" type_identifier (array_declarator "auStack_b0 [16]" identifier [ number_literal ]) ;) (declaration "char acStack_a0 [28];" primitive_type (array_declarator "acStack_a0 [28]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr *pEStack_84;" type_identifier (pointer_declarator "*pEStack_84" * identifier) ;) (declaration "Elf32_Ehdr *pEStack_80;" type_identifier (pointer_declarator "*pEStack_80" * identifier) ;) (declaration "undefined1 auStack_7c [8];" type_identifier (array_declarator "auStack_7c [8]" identifier [ number_literal ]) ;) (declaration "Elf32_Ehdr *pEStack_74;" type_identifier (pointer_declarator "*pEStack_74" * identifier) ;) (declaration "dword dStack_60;" type_identifier identifier ;) (declaration "undefined **ppuStack_5c;" type_identifier (pointer_declarator "**ppuStack_5c" * (pointer_declarator "*ppuStack_5c" * identifier)) ;) (declaration "uint *puStack_58;" type_identifier (pointer_declarator "*puStack_58" * identifier) ;) (declaration "undefined **ppuStack_54;" type_identifier (pointer_declarator "**ppuStack_54" * (pointer_declarator "*ppuStack_54" * identifier)) ;) (declaration "Elf32_Ehdr *pEStack_50;" type_identifier (pointer_declarator "*pEStack_50" * identifier) ;) (declaration "int iStack_48;" primitive_type identifier ;) (declaration "Elf32_Ehdr *local_44;" type_identifier (pointer_declarator "*local_44" * identifier) ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint *puStack_3c;" type_identifier (pointer_declarator "*puStack_3c" * identifier) ;) (declaration "undefined **local_38;" type_identifier (pointer_declarator "**local_38" * (pointer_declarator "*local_38" * identifier)) ;) (declaration "int local_34;" primitive_type identifier ;) (declaration "int local_30;" primitive_type identifier ;) (declaration "int iStack_2c;" primitive_type identifier ;) (declaration "uint uStack_28;" type_identifier identifier ;) (declaration "int iStack_24;" primitive_type identifier ;) (declaration "uint local_20;" type_identifier identifier ;) (declaration "int *piStack_1c;" primitive_type (pointer_declarator "*piStack_1c" * identifier) ;) (expression_statement "bVar50 = 0;" (assignment_expression "bVar50 = 0" identifier = number_literal) ;) (expression_statement "local_38 = &__DT_PLTGOT;" (assignment_expression "local_38 = &__DT_PLTGOT" identifier = (pointer_expression "&__DT_PLTGOT" & identifier)) ;) (expression_statement "puStack_58 = *(uint **)(param_1 + 0x148);" (assignment_expression "puStack_58 = *(uint **)(param_1 + 0x148)" identifier = (pointer_expression "*(uint **)(param_1 + 0x148)" * (cast_expression "(uint **)(param_1 + 0x148)" ( (type_descriptor "uint **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x148)" ( (binary_expression "param_1 + 0x148" identifier + number_literal) ))))) ;) (if_statement "if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }" if (parenthesized_expression "(puStack_58 != (uint *)0x0)" ( (binary_expression "puStack_58 != (uint *)0x0" identifier != (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }" { (expression_statement "iVar20 = *(int *)(param_1 + 0x84);" (assignment_expression "iVar20 = *(int *)(param_1 + 0x84)" identifier = (pointer_expression "*(int *)(param_1 + 0x84)" * (cast_expression "(int *)(param_1 + 0x84)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x84)" ( (binary_expression "param_1 + 0x84" identifier + number_literal) ))))) ;) (expression_statement "pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);" (assignment_expression "pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000)" identifier = (cast_expression "(Elf32_Ehdr *)(*param_3 + 0x8000)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_3 + 0x8000)" ( (binary_expression "*param_3 + 0x8000" (pointer_expression "*param_3" * identifier) + number_literal) )))) ;) (expression_statement "local_30 = param_2;" (assignment_expression "local_30 = param_2" identifier = identifier) ;) (if_statement "if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }" if (parenthesized_expression "((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58)" ( (binary_expression "(uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58" (call_expression "(uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(param_1 + 0x88) - iVar20 >> 3)" ( (binary_expression "*(int *)(param_1 + 0x88) - iVar20 >> 3" (binary_expression "*(int *)(param_1 + 0x88) - iVar20" (pointer_expression "*(int *)(param_1 + 0x88)" * (cast_expression "(int *)(param_1 + 0x88)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x88)" ( (binary_expression "param_1 + 0x88" identifier + number_literal) )))) - identifier) >> number_literal) ))) <= identifier) )) (compound_statement "{\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }" { (expression_statement "ppuStack_54 = (undefined **)0x2f6020;" (assignment_expression "ppuStack_54 = (undefined **)0x2f6020" identifier = (cast_expression "(undefined **)0x2f6020" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "ppuStack_5c = (undefined **)0x2f6e48;" (assignment_expression "ppuStack_5c = (undefined **)0x2f6e48" identifier = (cast_expression "(undefined **)0x2f6e48" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "puStack_58 = (uint *)0x7f7;" (assignment_expression "puStack_58 = (uint *)0x7f7" identifier = (cast_expression "(uint *)0x7f7" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "dStack_60 = 0x83bdc;" (assignment_expression "dStack_60 = 0x83bdc" identifier = number_literal) ;) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);" (assignment_expression "puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8)" identifier = (cast_expression "(uint *)(iVar20 + (int)puStack_58 * 8)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + (int)puStack_58 * 8)" ( (binary_expression "iVar20 + (int)puStack_58 * 8" identifier + (binary_expression "(int)puStack_58 * 8" (cast_expression "(int)puStack_58" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) )))) ;) (expression_statement "local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);" (assignment_expression "local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2)" identifier = (cast_expression "(Elf32_Ehdr *)((int)pEStack_50 - *puVar2)" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)pEStack_50 - *puVar2)" ( (binary_expression "(int)pEStack_50 - *puVar2" (cast_expression "(int)pEStack_50" ( (type_descriptor "int" primitive_type) ) identifier) - (pointer_expression "*puVar2" * identifier)) )))) ;) (expression_statement "local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);" (assignment_expression "local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2)" identifier = (binary_expression "((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2)" (parenthesized_expression "((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8))" ( (binary_expression "(param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)" (parenthesized_expression "(param_3[1] + (uint)(0xffff7fff < *param_3))" ( (binary_expression "param_3[1] + (uint)(0xffff7fff < *param_3)" (subscript_expression "param_3[1]" identifier [ number_literal ]) + (call_expression "(uint)(0xffff7fff < *param_3)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0xffff7fff < *param_3)" ( (binary_expression "0xffff7fff < *param_3" number_literal < (pointer_expression "*param_3" * identifier)) )))) )) - (pointer_expression "*(int *)(iVar20 + 4 + (int)puStack_58 * 8)" * (cast_expression "(int *)(iVar20 + 4 + (int)puStack_58 * 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar20 + 4 + (int)puStack_58 * 8)" ( (binary_expression "iVar20 + 4 + (int)puStack_58 * 8" (binary_expression "iVar20 + 4" identifier + number_literal) + (binary_expression "(int)puStack_58 * 8" (cast_expression "(int)puStack_58" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal)) ))))) )) - (call_expression "(uint)(pEStack_50 < *puVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pEStack_50 < *puVar2)" ( (binary_expression "pEStack_50 < *puVar2" identifier < (pointer_expression "*puVar2" * identifier)) ))))) ;) (expression_statement "ppuStack_5c = (undefined **)(param_1 + 0x90);" (assignment_expression "ppuStack_5c = (undefined **)(param_1 + 0x90)" identifier = (cast_expression "(undefined **)(param_1 + 0x90)" ( (type_descriptor "undefined **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) ;) (expression_statement "dStack_60 = 0x83ace;" (assignment_expression "dStack_60 = 0x83ace" identifier = number_literal) ;) (expression_statement "uVar51 = FUN_000b20e0();" (assignment_expression "uVar51 = FUN_000b20e0()" identifier = (call_expression "FUN_000b20e0()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar36 = (uint)((ulonglong)uVar51 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulonglong)uVar51 >> 0x20)" identifier = (call_expression "(uint)((ulonglong)uVar51 >> 0x20)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar51 >> 0x20)" ( (binary_expression "(ulonglong)uVar51 >> 0x20" (cast_expression "(ulonglong)uVar51" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (if_statement "if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }" if (parenthesized_expression "(local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51))" ( (binary_expression "local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)" (binary_expression "local_40 < uVar36" identifier < identifier) || (binary_expression "local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)" (binary_expression "local_40 - uVar36" identifier - identifier) < (call_expression "(uint)(local_44 < (Elf32_Ehdr *)uVar51)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_44 < (Elf32_Ehdr *)uVar51)" ( (binary_expression "local_44 < (Elf32_Ehdr *)uVar51" identifier < (cast_expression "(Elf32_Ehdr *)uVar51" ( (type_descriptor "Elf32_Ehdr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ))))) )) (compound_statement "{\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17
(translation_unit (ERROR (binary_expression IDENT * (ERROR IDENT) (call_expression IDENT (argument_list ( (ERROR IDENT) IDENT , (ERROR IDENT) IDENT , (binary_expression IDENT * IDENT) ))))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE 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 ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (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) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (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 != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * IDENT)) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (pointer_expression * IDENT)) )))) )) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (pointer_expression * IDENT)) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression IDENT - IDENT) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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) ))))) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (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) ))))) )) + (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) )) * LIT)) )))) )) <= IDENT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT >> LIT) )) * LIT)) )))) & (binary_expression LIT << (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) & LIT) )))) )) != LIT) )) (compound_statement { (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (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 (binary_expression (field_expression IDENT -> field_identifier) + IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + IDENT) + LIT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) )) (argument_list ( IDENT ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })) (return_statement return IDENT ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) , (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) >> LIT) )) * LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT . field_identifier))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == LIT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT)) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (goto_statement goto statement_identifier ;)) })) })) })) })) (goto_statement goto statement_identifier ;) })) })) })) })) })) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) + (subscript_expression IDENT [ LIT ])) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , (subscript_expression IDENT [ LIT ]) )))))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) })) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_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 = IDENT) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) ))))) , (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (subscript_expression IDENT [ LIT ])) >> LIT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + (binary_expression IDENT * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != LIT) )) && (parenthesized_expression ( (binary_expression (field_expression IDENT . field_identifier) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) | LIT)) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (field_expression IDENT . field_identifier) | LIT)) ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT . field_identifier))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)))) })) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT . field_identifier))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT . field_identifier))) ;)) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT <= IDENT) | (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )) + IDENT) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) ))) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (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 (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = LIT) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) || (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT . field_identifier)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (call_expression IDENT (argument_list ( IDENT , IDENT ))) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || IDENT) )) || IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || IDENT) )) || IDENT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (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) ))))) ;) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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 (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression LIT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression IDENT - LIT) )) + (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 , (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) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < IDENT) )))) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )) * LIT)) )))) + (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (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 = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT * LIT)) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) & (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT) || (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == IDENT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (binary_expression IDENT + LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT != LIT) || (binary_expression IDENT < IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT - IDENT) , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) == LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression IDENT >= IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT)) ;) (if_statement if (parenthesized_expression ( (unary_expression ! IDENT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT != LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT && IDENT) )) && IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) || (binary_expression IDENT == LIT)) )) || (binary_expression IDENT == LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) || (unary_expression ! IDENT)) )) || (unary_expression ! IDENT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )))) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) })) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) < (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (field_expression IDENT -> field_identifier) == (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) == IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (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 = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator * (abstract_pointer_declarator *)))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier)) == IDENT) )) (goto_statement goto statement_identifier ;)) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (field_expression IDENT . field_identifier) ))))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))) * LIT)) + LIT) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) }))) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & IDENT))) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = LIT) ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))))) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) | LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) >> LIT) )))) ;) }))) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) , (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT)))) ))) )) (goto_statement goto statement_identifier ;)) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) * LIT)) + LIT) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) & LIT) )) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - (cast_expression ( (type_descriptor TYPE) ) IDENT))))) ))) )) (goto_statement goto statement_identifier ;)) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - (cast_expression ( (type_descriptor TYPE) ) IDENT)))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = LIT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) }))) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) , (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT)))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) , IDENT ))))) + IDENT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) == LIT) )) && (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ))) )) && (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT >> LIT) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT && IDENT) )) && IDENT) )) && IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT && IDENT) )) && IDENT) )) && IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) ))) == IDENT) && (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) == LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) == IDENT) && (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) == (binary_expression IDENT + LIT))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) , (binary_expression (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) && (binary_expression (subscript_expression IDENT [ LIT ]) == LIT))) ))) )) && (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) == LIT) ))) )) && (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) )) - LIT) & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + IDENT) + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) = (cast_expression ( (type_descriptor (sized_type_specifier short)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) - (pointer_expression * IDENT)) ))) <= (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ (binary_expression (pointer_expression * IDENT) + LIT) ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier)))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression (parenthesized_expression ( (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier)) )) [ LIT ]) - IDENT) ))) <= IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ (binary_expression IDENT + LIT) ]) = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) })) (goto_statement goto statement_identifier ;) })) })) })) })) })) })) })) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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) )))) )))) ;) (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) )))) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = IDENT) ;)) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) & LIT) )) << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < IDENT)) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) - IDENT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) - IDENT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) == LIT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) >> LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (goto_statement goto statement_identifier ;) })) })) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT || IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (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 = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (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 == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression LIT << (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )))) ;) (expression_statement (assignment_expression IDENT = (unary_expression - IDENT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & (binary_expression (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + IDENT) + LIT))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( IDENT , IDENT ))))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + (parenthesized_expression ( (binary_expression (call_expression IDENT (argument_list ( IDENT , (binary_expression IDENT + IDENT) ))) - LIT) ))) )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression (binary_expression IDENT + IDENT) + IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (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 (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (binary_expression (parenthesized_expression ( IDENT )) * IDENT))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) , (cast_expression ( (type_descriptor TYPE) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression (subscript_expression IDENT [ LIT ]) == LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )) == IDENT) && (binary_expression IDENT == (binary_expression IDENT + LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) })) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE) ) IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) >> LIT) ))) <= IDENT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == IDENT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) ))) )) (goto_statement goto statement_identifier ;))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + (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 < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - IDENT) ))) >> LIT) )))) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression IDENT * LIT)) )))) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;)) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) ))))) >> LIT) )) * LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT < IDENT) || (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) == LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (goto_statement goto statement_identifier ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (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 , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) )))) ;) (if_statement if (parenthesized_expression ( (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) )))) + (parenthesized_expression ( (binary_expression (unary_expression - (cast_expression ( (type_descriptor TYPE) ) IDENT)) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))) + LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (field_expression IDENT -> field_identifier)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (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) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) })))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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 IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) - LIT) )) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) - LIT) )) + (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 ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) & LIT) | LIT)) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;)) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT)) ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (field_expression IDENT . field_identifier)) , (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) & LIT) )) << LIT) | IDENT) )) & LIT) )) == LIT)) ))) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) - (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) , (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression IDENT -> field_identifier))) ;) (while_statement while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (goto_statement goto statement_identifier ;)) })) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }))) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (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 * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (subscript_expression IDENT [ LIT ]) )) * IDENT) & (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) )) != (cast_expression ( (type_descriptor TYPE (abstract_array_declarator [ LIT ])) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) >> LIT) & LIT) )) << LIT) | LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (subscript_expression (field_expression IDENT -> field_identifier) [ (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ])))) >> LIT) )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (binary_expression LIT << IDENT) & LIT) )))) ;) }))) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) ))) < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) && (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression IDENT - (call_expression IDENT (argument_list ( IDENT , IDENT )))) )) + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) < IDENT) )))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) >> LIT) ))) <= (field_expression IDENT -> field_identifier)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) + (binary_expression (field_expression IDENT -> field_identifier) * LIT)) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (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) )))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT)) ))))) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) ^ LIT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT . field_identifier) [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * IDENT)) , (binary_expression IDENT != LIT)) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression (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) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_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 - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (call_expression IDENT (argument_list ( 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) ))))) )) - (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_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 , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & IDENT) )) == LIT) )) (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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , LIT ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (call_expression IDENT (argument_list ( IDENT , IDENT )))) + (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (goto_statement goto statement_identifier ;) })) })) (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) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) << LIT)) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = IDENT) , (binary_expression IDENT != LIT)) ))) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (subscript_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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) 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) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (goto_statement goto statement_identifier ;) })) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT == LIT) && (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT + LIT) )))) ))) <= (binary_expression (parenthesized_expression ( IDENT )) - IDENT))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) | LIT)) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression IDENT < (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (field_expression IDENT -> field_identifier) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) * LIT)) + LIT) ))))) + LIT) )))) )) (argument_list ( ))))) ;) (return_statement return IDENT ;) }))) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) << LIT)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (field_expression IDENT . field_identifier) = (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT >> LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , (binary_expression (binary_expression IDENT << LIT) | IDENT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) >> LIT) | IDENT) )) & LIT) )) == LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT & LIT)) )) << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT & LIT) | (binary_expression IDENT & LIT)) )) << LIT) | (binary_expression IDENT >> LIT))) ;) (expression_statement (assignment_expression (field_expression IDENT -> field_identifier) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression (field_expression IDENT -> field_identifier) [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (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 = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) })) }) (else_clause else (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) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << 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 (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) }))) }))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = IDENT) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) == LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) != LIT) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) )))) + LIT) )))) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT))) ;) (if_statement if (parenthesized_expression ( IDENT )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) ))) )) ))) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) }))) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == (pointer_expression * IDENT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( IDENT )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) == IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (unary_expression ! IDENT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) == LIT)) , (unary_expression ! IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = BOOL) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT) )))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (parenthesized_expression ( IDENT )) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) < IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * IDENT) == IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT)) + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( IDENT )) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (unary_expression ! IDENT) && (unary_expression ! IDENT)) )) != IDENT) )) || (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier)) < (char_literal ' escape_sequence ')) ))) )) (goto_statement goto statement_identifier ;)) })) }))) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) )))) == LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) == LIT) ))) )) (goto_statement goto statement_identifier ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression & (field_expression IDENT -> field_identifier)))) + LIT) )))) & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;))) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (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 * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) < (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (goto_statement goto statement_identifier ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (goto_statement goto statement_identifier ;) })) }))) }))) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (field_expression IDENT . field_identifier) , IDENT ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression IDENT >> LIT) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression (parenthesized_expression ( (binary_expression (field_expression IDENT -> field_identifier) & LIT) )) != LIT)) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & IDENT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression IDENT -> field_identifier))) + LIT) ))))) ;)) }))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) })) }) (else_clause else (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) + LIT) )))) ;)) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (field_expression IDENT -> field_identifier)) ;) (expression_statement (assignment_expression (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 *)) ) (pointer_expression & (field_expression IDENT -> field_identifier))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (field_expression IDENT -> field_identifier))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT) == IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == LIT) )) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (pointer_expression & (field_expression (subscript_expression IDENT [ LIT ]) . field_identifier))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - LIT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT - (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 IDENT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )))) )) + LIT) + (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression LIT < IDENT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT + (parenthesized_expression ( (binary_expression LIT < IDENT) ))) == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return IDENT ;) })) })) })) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) }))
(ERROR "Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)" (binary_expression "Elf32_Ehdr * __regparm3 FUN_00083a50(dword param_1,int param_2,uint *param_3)" (identifier "Elf32_Ehdr") (* "*") (ERROR "__regparm3" (identifier "__regparm3")) (call_expression "FUN_00083a50(dword param_1,int param_2,uint *param_3)" (identifier "FUN_00083a50") (argument_list "(dword param_1,int param_2,uint *param_3)" (( "(") (ERROR "dword" (identifier "dword")) (identifier "param_1") (, ",") (ERROR "int" (identifier "int")) (identifier "param_2") (, ",") (binary_expression "uint *param_3" (identifier "uint") (* "*") (identifier "param_3")) () ")"))))) (compound_statement "{\n  char *pcVar1;\n  uint *puVar2;\n  code *pcVar3;\n  int *piVar4;\n  int iVar5;\n  ushort uVar6;\n  bool bVar7;\n  bool bVar8;\n  longlong lVar9;\n  ulonglong uVar10;\n  ulonglong uVar11;\n  undefined1 uVar13;\n  ushort uVar14;\n  char cVar12;\n  int iVar15;\n  uint uVar16;\n  Elf32_Ehdr *pEVar17;\n  undefined4 uVar18;\n  undefined4 uVar19;\n  int iVar20;\n  undefined1 *puVar21;\n  undefined4 uVar22;\n  dword *pdVar23;\n  word *pwVar24;\n  int *piVar25;\n  uint uVar26;\n  int *extraout_ECX;\n  int *extraout_ECX_00;\n  undefined4 extraout_ECX_01;\n  int *extraout_ECX_02;\n  undefined4 extraout_ECX_03;\n  byte bVar27;\n  byte bVar28;\n  Elf32_Ehdr *pEVar29;\n  undefined4 extraout_EDX;\n  undefined3 uVar32;\n  uint extraout_EDX_00;\n  uint extraout_EDX_01;\n  undefined4 extraout_EDX_02;\n  undefined *puVar30;\n  uint uVar31;\n  undefined4 extraout_EDX_03;\n  byte *pbVar33;\n  undefined1 *puVar34;\n  undefined1 *puVar35;\n  uint uVar36;\n  byte *pbVar37;\n  Elf32_Ehdr *pEVar38;\n  dword dVar39;\n  uint uVar40;\n  byte *pbVar41;\n  Elf32_Ehdr *pEVar42;\n  Elf32_Ehdr *pEVar43;\n  Elf32_Ehdr *pEVar44;\n  bool bVar45;\n  bool bVar46;\n  bool bVar47;\n  bool bVar48;\n  bool bVar49;\n  byte bVar50;\n  undefined8 uVar51;\n  longlong lVar52;\n  ulonglong uVar53;\n  undefined1 auStack_1e8 [8];\n  undefined4 uStack_1e0;\n  Elf32_Ehdr *pEStack_1dc;\n  uint uStack_1d8;\n  int iStack_1d4;\n  uint uStack_1d0;\n  byte *pbStack_1cc;\n  Elf32_Ehdr *pEStack_1c8;\n  Elf32_Ehdr *pEStack_1c4;\n  uint uStack_1c0;\n  int iStack_1bc;\n  word *pwStack_1b8;\n  char cStack_1b2;\n  char cStack_1b1;\n  uint uStack_1b0;\n  undefined4 uStack_1ac;\n  Elf32_Ehdr *pEStack_1a8;\n  Elf32_Ehdr *pEStack_1a4;\n  uint uStack_1a0;\n  int iStack_19c;\n  dword *pdStack_198;\n  undefined *puStack_194;\n  uint uStack_190;\n  int *piStack_18c;\n  dword *pdStack_188;\n  dword *pdStack_184;\n  int iStack_180;\n  Elf32_Ehdr *pEStack_17c;\n  Elf32_Ehdr *pEStack_178;\n  Elf32_Ehdr *pEStack_174;\n  Elf32_Ehdr *pEStack_170;\n  Elf32_Ehdr *pEStack_16c;\n  Elf32_Ehdr *pEStack_168;\n  int iStack_164;\n  Elf32_Ehdr *pEStack_160;\n  Elf32_Ehdr *pEStack_158;\n  Elf32_Ehdr *pEStack_154;\n  int iStack_14c;\n  undefined1 uStack_13d;\n  int iStack_13c;\n  undefined *puStack_138;\n  undefined1 auStack_134 [4];\n  undefined1 auStack_130 [8];\n  undefined8 uStack_128;\n  undefined8 uStack_120;\n  Elf32_Ehdr EStack_104;\n  undefined *puStack_d0;\n  dword adStack_cc [5];\n  undefined1 *apuStack_b8 [2];\n  undefined1 auStack_b0 [16];\n  char acStack_a0 [28];\n  Elf32_Ehdr *pEStack_84;\n  Elf32_Ehdr *pEStack_80;\n  undefined1 auStack_7c [8];\n  Elf32_Ehdr *pEStack_74;\n  dword dStack_60;\n  undefined **ppuStack_5c;\n  uint *puStack_58;\n  undefined **ppuStack_54;\n  Elf32_Ehdr *pEStack_50;\n  int iStack_48;\n  Elf32_Ehdr *local_44;\n  uint local_40;\n  uint *puStack_3c;\n  undefined **local_38;\n  int local_34;\n  int local_30;\n  int iStack_2c;\n  uint uStack_28;\n  int iStack_24;\n  uint local_20;\n  int *piStack_1c;\n  \n  bVar50 = 0;\n  local_38 = &__DT_PLTGOT;\n  puStack_58 = *(uint **)(param_1 + 0x148);\n  if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }\n  return (Elf32_Ehdr *)0x0;\n}" ({ "{") (declaration "char *pcVar1;" (primitive_type "char") (pointer_declarator "*pcVar1" (* "*") (identifier "pcVar1")) (; ";")) (declaration "uint *puVar2;" (type_identifier "uint") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "code *pcVar3;" (type_identifier "code") (pointer_declarator "*pcVar3" (* "*") (identifier "pcVar3")) (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "int iVar5;" (primitive_type "int") (identifier "iVar5") (; ";")) (declaration "ushort uVar6;" (type_identifier "ushort") (identifier "uVar6") (; ";")) (declaration "bool bVar7;" (primitive_type "bool") (identifier "bVar7") (; ";")) (declaration "bool bVar8;" (primitive_type "bool") (identifier "bVar8") (; ";")) (declaration "longlong lVar9;" (type_identifier "longlong") (identifier "lVar9") (; ";")) (declaration "ulonglong uVar10;" (type_identifier "ulonglong") (identifier "uVar10") (; ";")) (declaration "ulonglong uVar11;" (type_identifier "ulonglong") (identifier "uVar11") (; ";")) (declaration "undefined1 uVar13;" (type_identifier "undefined1") (identifier "uVar13") (; ";")) (declaration "ushort uVar14;" (type_identifier "ushort") (identifier "uVar14") (; ";")) (declaration "char cVar12;" (primitive_type "char") (identifier "cVar12") (; ";")) (declaration "int iVar15;" (primitive_type "int") (identifier "iVar15") (; ";")) (declaration "uint uVar16;" (type_identifier "uint") (identifier "uVar16") (; ";")) (declaration "Elf32_Ehdr *pEVar17;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar17" (* "*") (identifier "pEVar17")) (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "undefined4 uVar19;" (type_identifier "undefined4") (identifier "uVar19") (; ";")) (declaration "int iVar20;" (primitive_type "int") (identifier "iVar20") (; ";")) (declaration "undefined1 *puVar21;" (type_identifier "undefined1") (pointer_declarator "*puVar21" (* "*") (identifier "puVar21")) (; ";")) (declaration "undefined4 uVar22;" (type_identifier "undefined4") (identifier "uVar22") (; ";")) (declaration "dword *pdVar23;" (type_identifier "dword") (pointer_declarator "*pdVar23" (* "*") (identifier "pdVar23")) (; ";")) (declaration "word *pwVar24;" (type_identifier "word") (pointer_declarator "*pwVar24" (* "*") (identifier "pwVar24")) (; ";")) (declaration "int *piVar25;" (primitive_type "int") (pointer_declarator "*piVar25" (* "*") (identifier "piVar25")) (; ";")) (declaration "uint uVar26;" (type_identifier "uint") (identifier "uVar26") (; ";")) (declaration "int *extraout_ECX;" (primitive_type "int") (pointer_declarator "*extraout_ECX" (* "*") (identifier "extraout_ECX")) (; ";")) (declaration "int *extraout_ECX_00;" (primitive_type "int") (pointer_declarator "*extraout_ECX_00" (* "*") (identifier "extraout_ECX_00")) (; ";")) (declaration "undefined4 extraout_ECX_01;" (type_identifier "undefined4") (identifier "extraout_ECX_01") (; ";")) (declaration "int *extraout_ECX_02;" (primitive_type "int") (pointer_declarator "*extraout_ECX_02" (* "*") (identifier "extraout_ECX_02")) (; ";")) (declaration "undefined4 extraout_ECX_03;" (type_identifier "undefined4") (identifier "extraout_ECX_03") (; ";")) (declaration "byte bVar27;" (type_identifier "byte") (identifier "bVar27") (; ";")) (declaration "byte bVar28;" (type_identifier "byte") (identifier "bVar28") (; ";")) (declaration "Elf32_Ehdr *pEVar29;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar29" (* "*") (identifier "pEVar29")) (; ";")) (declaration "undefined4 extraout_EDX;" (type_identifier "undefined4") (identifier "extraout_EDX") (; ";")) (declaration "undefined3 uVar32;" (type_identifier "undefined3") (identifier "uVar32") (; ";")) (declaration "uint extraout_EDX_00;" (type_identifier "uint") (identifier "extraout_EDX_00") (; ";")) (declaration "uint extraout_EDX_01;" (type_identifier "uint") (identifier "extraout_EDX_01") (; ";")) (declaration "undefined4 extraout_EDX_02;" (type_identifier "undefined4") (identifier "extraout_EDX_02") (; ";")) (declaration "undefined *puVar30;" (type_identifier "undefined") (pointer_declarator "*puVar30" (* "*") (identifier "puVar30")) (; ";")) (declaration "uint uVar31;" (type_identifier "uint") (identifier "uVar31") (; ";")) (declaration "undefined4 extraout_EDX_03;" (type_identifier "undefined4") (identifier "extraout_EDX_03") (; ";")) (declaration "byte *pbVar33;" (type_identifier "byte") (pointer_declarator "*pbVar33" (* "*") (identifier "pbVar33")) (; ";")) (declaration "undefined1 *puVar34;" (type_identifier "undefined1") (pointer_declarator "*puVar34" (* "*") (identifier "puVar34")) (; ";")) (declaration "undefined1 *puVar35;" (type_identifier "undefined1") (pointer_declarator "*puVar35" (* "*") (identifier "puVar35")) (; ";")) (declaration "uint uVar36;" (type_identifier "uint") (identifier "uVar36") (; ";")) (declaration "byte *pbVar37;" (type_identifier "byte") (pointer_declarator "*pbVar37" (* "*") (identifier "pbVar37")) (; ";")) (declaration "Elf32_Ehdr *pEVar38;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar38" (* "*") (identifier "pEVar38")) (; ";")) (declaration "dword dVar39;" (type_identifier "dword") (identifier "dVar39") (; ";")) (declaration "uint uVar40;" (type_identifier "uint") (identifier "uVar40") (; ";")) (declaration "byte *pbVar41;" (type_identifier "byte") (pointer_declarator "*pbVar41" (* "*") (identifier "pbVar41")) (; ";")) (declaration "Elf32_Ehdr *pEVar42;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar42" (* "*") (identifier "pEVar42")) (; ";")) (declaration "Elf32_Ehdr *pEVar43;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar43" (* "*") (identifier "pEVar43")) (; ";")) (declaration "Elf32_Ehdr *pEVar44;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEVar44" (* "*") (identifier "pEVar44")) (; ";")) (declaration "bool bVar45;" (primitive_type "bool") (identifier "bVar45") (; ";")) (declaration "bool bVar46;" (primitive_type "bool") (identifier "bVar46") (; ";")) (declaration "bool bVar47;" (primitive_type "bool") (identifier "bVar47") (; ";")) (declaration "bool bVar48;" (primitive_type "bool") (identifier "bVar48") (; ";")) (declaration "bool bVar49;" (primitive_type "bool") (identifier "bVar49") (; ";")) (declaration "byte bVar50;" (type_identifier "byte") (identifier "bVar50") (; ";")) (declaration "undefined8 uVar51;" (type_identifier "undefined8") (identifier "uVar51") (; ";")) (declaration "longlong lVar52;" (type_identifier "longlong") (identifier "lVar52") (; ";")) (declaration "ulonglong uVar53;" (type_identifier "ulonglong") (identifier "uVar53") (; ";")) (declaration "undefined1 auStack_1e8 [8];" (type_identifier "undefined1") (array_declarator "auStack_1e8 [8]" (identifier "auStack_1e8") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined4 uStack_1e0;" (type_identifier "undefined4") (identifier "uStack_1e0") (; ";")) (declaration "Elf32_Ehdr *pEStack_1dc;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1dc" (* "*") (identifier "pEStack_1dc")) (; ";")) (declaration "uint uStack_1d8;" (type_identifier "uint") (identifier "uStack_1d8") (; ";")) (declaration "int iStack_1d4;" (primitive_type "int") (identifier "iStack_1d4") (; ";")) (declaration "uint uStack_1d0;" (type_identifier "uint") (identifier "uStack_1d0") (; ";")) (declaration "byte *pbStack_1cc;" (type_identifier "byte") (pointer_declarator "*pbStack_1cc" (* "*") (identifier "pbStack_1cc")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1c8;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1c8" (* "*") (identifier "pEStack_1c8")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1c4;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1c4" (* "*") (identifier "pEStack_1c4")) (; ";")) (declaration "uint uStack_1c0;" (type_identifier "uint") (identifier "uStack_1c0") (; ";")) (declaration "int iStack_1bc;" (primitive_type "int") (identifier "iStack_1bc") (; ";")) (declaration "word *pwStack_1b8;" (type_identifier "word") (pointer_declarator "*pwStack_1b8" (* "*") (identifier "pwStack_1b8")) (; ";")) (declaration "char cStack_1b2;" (primitive_type "char") (identifier "cStack_1b2") (; ";")) (declaration "char cStack_1b1;" (primitive_type "char") (identifier "cStack_1b1") (; ";")) (declaration "uint uStack_1b0;" (type_identifier "uint") (identifier "uStack_1b0") (; ";")) (declaration "undefined4 uStack_1ac;" (type_identifier "undefined4") (identifier "uStack_1ac") (; ";")) (declaration "Elf32_Ehdr *pEStack_1a8;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1a8" (* "*") (identifier "pEStack_1a8")) (; ";")) (declaration "Elf32_Ehdr *pEStack_1a4;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_1a4" (* "*") (identifier "pEStack_1a4")) (; ";")) (declaration "uint uStack_1a0;" (type_identifier "uint") (identifier "uStack_1a0") (; ";")) (declaration "int iStack_19c;" (primitive_type "int") (identifier "iStack_19c") (; ";")) (declaration "dword *pdStack_198;" (type_identifier "dword") (pointer_declarator "*pdStack_198" (* "*") (identifier "pdStack_198")) (; ";")) (declaration "undefined *puStack_194;" (type_identifier "undefined") (pointer_declarator "*puStack_194" (* "*") (identifier "puStack_194")) (; ";")) (declaration "uint uStack_190;" (type_identifier "uint") (identifier "uStack_190") (; ";")) (declaration "int *piStack_18c;" (primitive_type "int") (pointer_declarator "*piStack_18c" (* "*") (identifier "piStack_18c")) (; ";")) (declaration "dword *pdStack_188;" (type_identifier "dword") (pointer_declarator "*pdStack_188" (* "*") (identifier "pdStack_188")) (; ";")) (declaration "dword *pdStack_184;" (type_identifier "dword") (pointer_declarator "*pdStack_184" (* "*") (identifier "pdStack_184")) (; ";")) (declaration "int iStack_180;" (primitive_type "int") (identifier "iStack_180") (; ";")) (declaration "Elf32_Ehdr *pEStack_17c;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_17c" (* "*") (identifier "pEStack_17c")) (; ";")) (declaration "Elf32_Ehdr *pEStack_178;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_178" (* "*") (identifier "pEStack_178")) (; ";")) (declaration "Elf32_Ehdr *pEStack_174;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_174" (* "*") (identifier "pEStack_174")) (; ";")) (declaration "Elf32_Ehdr *pEStack_170;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_170" (* "*") (identifier "pEStack_170")) (; ";")) (declaration "Elf32_Ehdr *pEStack_16c;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_16c" (* "*") (identifier "pEStack_16c")) (; ";")) (declaration "Elf32_Ehdr *pEStack_168;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_168" (* "*") (identifier "pEStack_168")) (; ";")) (declaration "int iStack_164;" (primitive_type "int") (identifier "iStack_164") (; ";")) (declaration "Elf32_Ehdr *pEStack_160;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_160" (* "*") (identifier "pEStack_160")) (; ";")) (declaration "Elf32_Ehdr *pEStack_158;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_158" (* "*") (identifier "pEStack_158")) (; ";")) (declaration "Elf32_Ehdr *pEStack_154;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_154" (* "*") (identifier "pEStack_154")) (; ";")) (declaration "int iStack_14c;" (primitive_type "int") (identifier "iStack_14c") (; ";")) (declaration "undefined1 uStack_13d;" (type_identifier "undefined1") (identifier "uStack_13d") (; ";")) (declaration "int iStack_13c;" (primitive_type "int") (identifier "iStack_13c") (; ";")) (declaration "undefined *puStack_138;" (type_identifier "undefined") (pointer_declarator "*puStack_138" (* "*") (identifier "puStack_138")) (; ";")) (declaration "undefined1 auStack_134 [4];" (type_identifier "undefined1") (array_declarator "auStack_134 [4]" (identifier "auStack_134") ([ "[") (number_literal "4") (] "]")) (; ";")) (declaration "undefined1 auStack_130 [8];" (type_identifier "undefined1") (array_declarator "auStack_130 [8]" (identifier "auStack_130") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "undefined8 uStack_128;" (type_identifier "undefined8") (identifier "uStack_128") (; ";")) (declaration "undefined8 uStack_120;" (type_identifier "undefined8") (identifier "uStack_120") (; ";")) (declaration "Elf32_Ehdr EStack_104;" (type_identifier "Elf32_Ehdr") (identifier "EStack_104") (; ";")) (declaration "undefined *puStack_d0;" (type_identifier "undefined") (pointer_declarator "*puStack_d0" (* "*") (identifier "puStack_d0")) (; ";")) (declaration "dword adStack_cc [5];" (type_identifier "dword") (array_declarator "adStack_cc [5]" (identifier "adStack_cc") ([ "[") (number_literal "5") (] "]")) (; ";")) (declaration "undefined1 *apuStack_b8 [2];" (type_identifier "undefined1") (pointer_declarator "*apuStack_b8 [2]" (* "*") (array_declarator "apuStack_b8 [2]" (identifier "apuStack_b8") ([ "[") (number_literal "2") (] "]"))) (; ";")) (declaration "undefined1 auStack_b0 [16];" (type_identifier "undefined1") (array_declarator "auStack_b0 [16]" (identifier "auStack_b0") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "char acStack_a0 [28];" (primitive_type "char") (array_declarator "acStack_a0 [28]" (identifier "acStack_a0") ([ "[") (number_literal "28") (] "]")) (; ";")) (declaration "Elf32_Ehdr *pEStack_84;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_84" (* "*") (identifier "pEStack_84")) (; ";")) (declaration "Elf32_Ehdr *pEStack_80;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_80" (* "*") (identifier "pEStack_80")) (; ";")) (declaration "undefined1 auStack_7c [8];" (type_identifier "undefined1") (array_declarator "auStack_7c [8]" (identifier "auStack_7c") ([ "[") (number_literal "8") (] "]")) (; ";")) (declaration "Elf32_Ehdr *pEStack_74;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_74" (* "*") (identifier "pEStack_74")) (; ";")) (declaration "dword dStack_60;" (type_identifier "dword") (identifier "dStack_60") (; ";")) (declaration "undefined **ppuStack_5c;" (type_identifier "undefined") (pointer_declarator "**ppuStack_5c" (* "*") (pointer_declarator "*ppuStack_5c" (* "*") (identifier "ppuStack_5c"))) (; ";")) (declaration "uint *puStack_58;" (type_identifier "uint") (pointer_declarator "*puStack_58" (* "*") (identifier "puStack_58")) (; ";")) (declaration "undefined **ppuStack_54;" (type_identifier "undefined") (pointer_declarator "**ppuStack_54" (* "*") (pointer_declarator "*ppuStack_54" (* "*") (identifier "ppuStack_54"))) (; ";")) (declaration "Elf32_Ehdr *pEStack_50;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*pEStack_50" (* "*") (identifier "pEStack_50")) (; ";")) (declaration "int iStack_48;" (primitive_type "int") (identifier "iStack_48") (; ";")) (declaration "Elf32_Ehdr *local_44;" (type_identifier "Elf32_Ehdr") (pointer_declarator "*local_44" (* "*") (identifier "local_44")) (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "uint *puStack_3c;" (type_identifier "uint") (pointer_declarator "*puStack_3c" (* "*") (identifier "puStack_3c")) (; ";")) (declaration "undefined **local_38;" (type_identifier "undefined") (pointer_declarator "**local_38" (* "*") (pointer_declarator "*local_38" (* "*") (identifier "local_38"))) (; ";")) (declaration "int local_34;" (primitive_type "int") (identifier "local_34") (; ";")) (declaration "int local_30;" (primitive_type "int") (identifier "local_30") (; ";")) (declaration "int iStack_2c;" (primitive_type "int") (identifier "iStack_2c") (; ";")) (declaration "uint uStack_28;" (type_identifier "uint") (identifier "uStack_28") (; ";")) (declaration "int iStack_24;" (primitive_type "int") (identifier "iStack_24") (; ";")) (declaration "uint local_20;" (type_identifier "uint") (identifier "local_20") (; ";")) (declaration "int *piStack_1c;" (primitive_type "int") (pointer_declarator "*piStack_1c" (* "*") (identifier "piStack_1c")) (; ";")) (expression_statement "bVar50 = 0;" (assignment_expression "bVar50 = 0" (identifier "bVar50") (= "=") (number_literal "0")) (; ";")) (expression_statement "local_38 = &__DT_PLTGOT;" (assignment_expression "local_38 = &__DT_PLTGOT" (identifier "local_38") (= "=") (pointer_expression "&__DT_PLTGOT" (& "&") (identifier "__DT_PLTGOT"))) (; ";")) (expression_statement "puStack_58 = *(uint **)(param_1 + 0x148);" (assignment_expression "puStack_58 = *(uint **)(param_1 + 0x148)" (identifier "puStack_58") (= "=") (pointer_expression "*(uint **)(param_1 + 0x148)" (* "*") (cast_expression "(uint **)(param_1 + 0x148)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x148)" (( "(") (binary_expression "param_1 + 0x148" (identifier "param_1") (+ "+") (number_literal "0x148")) () ")"))))) (; ";")) (if_statement "if (puStack_58 != (uint *)0x0) {\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(puStack_58 != (uint *)0x0)" (( "(") (binary_expression "puStack_58 != (uint *)0x0" (identifier "puStack_58") (!= "!=") (cast_expression "(uint *)0x0" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    iVar20 = *(int *)(param_1 + 0x84);\n    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);\n    local_30 = param_2;\n    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }\n    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);\n    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);\n    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);\n    ppuStack_5c = (undefined **)(param_1 + 0x90);\n    dStack_60 = 0x83ace;\n    uVar51 = FUN_000b20e0();\n    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);\n    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }\n  }" ({ "{") (expression_statement "iVar20 = *(int *)(param_1 + 0x84);" (assignment_expression "iVar20 = *(int *)(param_1 + 0x84)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(param_1 + 0x84)" (* "*") (cast_expression "(int *)(param_1 + 0x84)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x84)" (( "(") (binary_expression "param_1 + 0x84" (identifier "param_1") (+ "+") (number_literal "0x84")) () ")"))))) (; ";")) (expression_statement "pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);" (assignment_expression "pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000)" (identifier "pEStack_50") (= "=") (cast_expression "(Elf32_Ehdr *)(*param_3 + 0x8000)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_3 + 0x8000)" (( "(") (binary_expression "*param_3 + 0x8000" (pointer_expression "*param_3" (* "*") (identifier "param_3")) (+ "+") (number_literal "0x8000")) () ")")))) (; ";")) (expression_statement "local_30 = param_2;" (assignment_expression "local_30 = param_2" (identifier "local_30") (= "=") (identifier "param_2")) (; ";")) (if_statement "if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }" (if "if") (parenthesized_expression "((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58)" (( "(") (binary_expression "(uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58" (call_expression "(uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(int *)(param_1 + 0x88) - iVar20 >> 3)" (( "(") (binary_expression "*(int *)(param_1 + 0x88) - iVar20 >> 3" (binary_expression "*(int *)(param_1 + 0x88) - iVar20" (pointer_expression "*(int *)(param_1 + 0x88)" (* "*") (cast_expression "(int *)(param_1 + 0x88)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x88)" (( "(") (binary_expression "param_1 + 0x88" (identifier "param_1") (+ "+") (number_literal "0x88")) () ")")))) (- "-") (identifier "iVar20")) (>> ">>") (number_literal "3")) () ")"))) (<= "<=") (identifier "puStack_58")) () ")")) (compound_statement "{\n      ppuStack_54 = (undefined **)0x2f6020;\n      ppuStack_5c = (undefined **)0x2f6e48;\n      puStack_58 = (uint *)0x7f7;\n                    \n      dStack_60 = 0x83bdc;\n      FUN_000da200();\n    }" ({ "{") (expression_statement "ppuStack_54 = (undefined **)0x2f6020;" (assignment_expression "ppuStack_54 = (undefined **)0x2f6020" (identifier "ppuStack_54") (= "=") (cast_expression "(undefined **)0x2f6020" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x2f6020"))) (; ";")) (expression_statement "ppuStack_5c = (undefined **)0x2f6e48;" (assignment_expression "ppuStack_5c = (undefined **)0x2f6e48" (identifier "ppuStack_5c") (= "=") (cast_expression "(undefined **)0x2f6e48" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x2f6e48"))) (; ";")) (expression_statement "puStack_58 = (uint *)0x7f7;" (assignment_expression "puStack_58 = (uint *)0x7f7" (identifier "puStack_58") (= "=") (cast_expression "(uint *)0x7f7" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x7f7"))) (; ";")) (expression_statement "dStack_60 = 0x83bdc;" (assignment_expression "dStack_60 = 0x83bdc" (identifier "dStack_60") (= "=") (number_literal "0x83bdc")) (; ";")) (expression_statement "FUN_000da200();" (call_expression "FUN_000da200()" (identifier "FUN_000da200") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);" (assignment_expression "puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8)" (identifier "puVar2") (= "=") (cast_expression "(uint *)(iVar20 + (int)puStack_58 * 8)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + (int)puStack_58 * 8)" (( "(") (binary_expression "iVar20 + (int)puStack_58 * 8" (identifier "iVar20") (+ "+") (binary_expression "(int)puStack_58 * 8" (cast_expression "(int)puStack_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_58")) (* "*") (number_literal "8"))) () ")")))) (; ";")) (expression_statement "local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);" (assignment_expression "local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2)" (identifier "local_44") (= "=") (cast_expression "(Elf32_Ehdr *)((int)pEStack_50 - *puVar2)" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)pEStack_50 - *puVar2)" (( "(") (binary_expression "(int)pEStack_50 - *puVar2" (cast_expression "(int)pEStack_50" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pEStack_50")) (- "-") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) () ")")))) (; ";")) (expression_statement "local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);" (assignment_expression "local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2)" (identifier "local_40") (= "=") (binary_expression "((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2)" (parenthesized_expression "((param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8))" (( "(") (binary_expression "(param_3[1] + (uint)(0xffff7fff < *param_3)) -\n               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)" (parenthesized_expression "(param_3[1] + (uint)(0xffff7fff < *param_3))" (( "(") (binary_expression "param_3[1] + (uint)(0xffff7fff < *param_3)" (subscript_expression "param_3[1]" (identifier "param_3") ([ "[") (number_literal "1") (] "]")) (+ "+") (call_expression "(uint)(0xffff7fff < *param_3)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(0xffff7fff < *param_3)" (( "(") (binary_expression "0xffff7fff < *param_3" (number_literal "0xffff7fff") (< "<") (pointer_expression "*param_3" (* "*") (identifier "param_3"))) () ")")))) () ")")) (- "-") (pointer_expression "*(int *)(iVar20 + 4 + (int)puStack_58 * 8)" (* "*") (cast_expression "(int *)(iVar20 + 4 + (int)puStack_58 * 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + 4 + (int)puStack_58 * 8)" (( "(") (binary_expression "iVar20 + 4 + (int)puStack_58 * 8" (binary_expression "iVar20 + 4" (identifier "iVar20") (+ "+") (number_literal "4")) (+ "+") (binary_expression "(int)puStack_58 * 8" (cast_expression "(int)puStack_58" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puStack_58")) (* "*") (number_literal "8"))) () ")"))))) () ")")) (- "-") (call_expression "(uint)(pEStack_50 < *puVar2)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pEStack_50 < *puVar2)" (( "(") (binary_expression "pEStack_50 < *puVar2" (identifier "pEStack_50") (< "<") (pointer_expression "*puVar2" (* "*") (identifier "puVar2"))) () ")"))))) (; ";")) (expression_statement "ppuStack_5c = (undefined **)(param_1 + 0x90);" (assignment_expression "ppuStack_5c = (undefined **)(param_1 + 0x90)" (identifier "ppuStack_5c") (= "=") (cast_expression "(undefined **)(param_1 + 0x90)" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (; ";")) (expression_statement "dStack_60 = 0x83ace;" (assignment_expression "dStack_60 = 0x83ace" (identifier "dStack_60") (= "=") (number_literal "0x83ace")) (; ";")) (expression_statement "uVar51 = FUN_000b20e0();" (assignment_expression "uVar51 = FUN_000b20e0()" (identifier "uVar51") (= "=") (call_expression "FUN_000b20e0()" (identifier "FUN_000b20e0") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar36 = (uint)((ulonglong)uVar51 >> 0x20);" (assignment_expression "uVar36 = (uint)((ulonglong)uVar51 >> 0x20)" (identifier "uVar36") (= "=") (call_expression "(uint)((ulonglong)uVar51 >> 0x20)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar51 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar51 >> 0x20" (cast_expression "(ulonglong)uVar51" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar51")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (if_statement "if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }" (if "if") (parenthesized_expression "(local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51))" (( "(") (binary_expression "local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)" (binary_expression "local_40 < uVar36" (identifier "local_40") (< "<") (identifier "uVar36")) (|| "||") (binary_expression "local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)" (binary_expression "local_40 - uVar36" (identifier "local_40") (- "-") (identifier "uVar36")) (< "<") (call_expression "(uint)(local_44 < (Elf32_Ehdr *)uVar51)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_44 < (Elf32_Ehdr *)uVar51)" (( "(") (binary_expression "local_44 < (Elf32_Ehdr *)uVar51" (identifier "local_44") (< "<") (cast_expression "(Elf32_Ehdr *)uVar51" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "uVar51"))) () ")"))))) () ")")) (compound_statement "{\n      iVar20 = *(int *)(param_1 + 0x154);\n      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }\n      ppuStack_54 = (undefined **)&local_20;\n      puStack_58 = *(uint **)(param_1 + 0x148);\n      dStack_60 = 0x83b5e;\n      ppuStack_5c = (undefined **)param_1;\n      local_34 = iVar20;\n      iVar15 = FUN_001b2c60();\n      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);\n      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);\n      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n      if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                          uVar16 = bVar27 & 3;\n                        }\n                        else {\nLAB_00084261:\n                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);\n                          if (piVar25 == (int *)0x0) {\nLAB_00087c97:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x69;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;\n                            FUN_000da200();\n                          }\n                          iVar20 = *piVar25;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                          *(int **)(puVar35 + -0x10) = piVar25;\n                          pcVar3 = *(code **)(iVar20 + 0x1c);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;\n                          cVar12 = (*pcVar3)();\n                          pEVar17 = pEStack_158;\n                          if (cVar12 != '\0') goto LAB_00084440;\n                          iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                          if (iVar20 == 0) {\nLAB_00087cbf:\n                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                            *(undefined1 **)(puVar35 + -0x10) =\n                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;\n                            FUN_000da200();\n                          }\n                          pbVar33 = *(byte **)(iVar20 + 0x42e4);\n                          bVar45 = false;\n                          bVar48 = pbVar33 == (byte *)0x0;\n                          if (bVar48) {\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\nLAB_00084342:\n                            if (((char)uVar16 == '\x02') ||\n                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||\n                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {\nLAB_0008435c:\n                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;\n                              *(uint *)(puVar35 + -0x14) = uStack_190;\n                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;\n                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;\n                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;\n                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;\n                              FUN_000d2340();\n                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);\n                              goto LAB_0008412d;\n                            }\n                          }\n                          else {\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar45 = *pbVar37 < bVar27;\n                              bVar48 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar48);\n                            bVar46 = false;\n                            bVar45 = (!bVar45 && !bVar48) == bVar45;\n                            if (bVar45) goto LAB_00084440;\n                            iVar15 = 0xb;\n                            pbVar37 = pbVar33;\n                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);\n                            do {\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              bVar46 = *pbVar37 < *pbVar41;\n                              bVar45 = *pbVar37 == *pbVar41;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (bVar45) goto LAB_0008435c;\n                            iVar15 = 0x17;\n                            pbVar37 = pbVar33;\n                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;\n                            do {\n                              pEVar29 = pEVar44;\n                              if (iVar15 == 0) break;\n                              iVar15 = iVar15 + -1;\n                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                              bVar48 = *pbVar37 < bVar27;\n                              bVar45 = *pbVar37 == bVar27;\n                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;\n                              pEVar44 = pEVar29;\n                            } while (bVar45);\n                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                            uVar16 = bVar27 & 3;\n                            bVar45 = (!bVar48 && !bVar45) == bVar48;\n                            if ((!bVar45) ||\n                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {\n                              bVar48 = false;\n                              iVar15 = 0x16;\n                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);\n                              do {\n                                pEVar29 = pEVar44;\n                                if (iVar15 == 0) break;\n                                iVar15 = iVar15 + -1;\n                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);\n                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;\n                                bVar48 = *pbVar33 < bVar27;\n                                bVar45 = *pbVar33 == bVar27;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pEVar44 = pEVar29;\n                              } while (bVar45);\n                              if (((!bVar48 && !bVar45) != bVar48) ||\n                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;\n                            }\n                          }\n                        }\n                      }\n                      if ((char)uVar16 != '\0') {\n                        bVar28 = (byte)pEStack_158->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar36 = bVar28 & 7;\n                        bVar27 = (byte)uVar36;\n                        if ((bVar28 & 7) != 0) goto LAB_000844d7;\nLAB_00084183:\n                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {\n                          bVar28 = (byte)pEStack_158->e_ehsize;\n                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                          pEVar29 = pEStack_158;\n                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))\n                          goto LAB_00084510;\n                        }\nLAB_0008419a:\n                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)\n                        goto LAB_00084595;\nLAB_000841ad:\n                        bVar27 = (byte)uVar16;\n                        if (bVar27 == 2) {\n                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;\n                          uVar18 = gettext();\n                        }\n                        else if (bVar27 < 3) {\n                          if (bVar27 != 1) {\n                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;\n                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;\n                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;\n                            FUN_000da200();\n                          }\n                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;\n                          uVar18 = gettext();\n                        }\n                        else {\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);\n                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;\n                          uVar18 = gettext();\n                        }\n                        puVar30 = *(undefined **)pEStack_158;\n                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;\n                        uVar19 = gettext();\n                        *(undefined **)(puVar35 + -8) = puVar30;\n                        *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;\n                        FUN_000d1330();\n                      }\nLAB_00084206:\n                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                    }\n                    else {\n                      pdVar23 = &pEStack_154[-0x10eb9].e_version;\n                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                      pEVar29 = pEStack_154;\n                      if (pcVar3 == (code *)pdVar23) {\nLAB_00084114:\n                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                        uVar16 = bVar28 & 3;\n                        if ((bVar28 & 3) != 0) {\n                          bVar27 = bVar27 & 7;\n                          goto LAB_00084183;\n                        }\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                      }\n                      else {\n                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;\n                        iVar20 = (*pcVar3)();\n                        pEVar29 = pEVar17;\n                        if (iVar20 == 0) goto LAB_00084540;\n                        bVar27 = (byte)pEStack_158->e_phentsize;\n                        uVar40 = (uint)bVar27;\n                        uVar36 = uVar40 & 7;\n                        if ((bVar27 & 7) == 0) {\n                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);\n                          if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;\n                          }\n                          else {\n                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                          }\n                          pEVar17 = pEVar29;\n                          if ((char)bVar28 < '\0') goto LAB_00084410;\nLAB_00084255:\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          pEVar29 = pEVar17;\n                          goto LAB_00084261;\n                        }\n                        if ((char)uVar36 == '\x04') goto LAB_00084399;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if (-1 < (char)bVar28) goto LAB_00084255;\nLAB_000844bb:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                        if ((bVar27 & 3) != 0) {\n                          uVar36 = uVar40 & 7;\n                          goto LAB_000844d7;\n                        }\n                      }\n                    }\n                  }\n                  else {\n                    if ((char)uVar36 == '\x04') goto LAB_00084399;\n                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                    uVar16 = bVar27 & 3;\n                    if ((bVar27 & 3) != 0) {\nLAB_000844d7:\n                      if ((char)uVar36 != '\x04') goto LAB_00084206;\n                      bVar27 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        goto LAB_0008412d;\n                      }\nLAB_00084510:\n                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {\n                        *(uint *)(puVar35 + -4) = uVar16;\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;\n                        FUN_000da200();\n                      }\n                      pEVar29 = pEStack_1c8;\n                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')\n                      goto LAB_000841ad;\n                      pEVar29 = pEStack_1c8;\n                      if (bVar27 == 0) goto LAB_0008419a;\n                      goto LAB_00084206;\n                    }\nLAB_00084595:\n                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                  }\nLAB_0008412d:\n                  if ((bVar28 & 4) != 0) {\n                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;\n                    *(uint *)(puVar35 + -0x10) = uStack_190;\n                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;\n                    pEVar17 = *(Elf32_Ehdr **)local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;\n                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;\n                    pEStack_158 = pEVar17;\n                    FUN_001ead70();\n                  }\n                }\n              }\n              else {\nLAB_00083e0d:\n                *(undefined1 **)(puVar35 + -0x10) =\n                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);\n                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;\n                uVar18 = gettext();\n                *(uint *)(puVar35 + -0xc) = uStack_190;\n                *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;\n                *(uint *)(puVar35 + -0x18) = uStack_190;\n                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;\n                FUN_000d1b10();\n              }\n              *(dword **)(puVar35 + -0x10) = pdStack_198;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;\n              FUN_000aa480();\n              *(dword **)(puVar35 + -0x10) = pdStack_184;\n              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;\n              FUN_000aa480();\n            }\n            else {\n              *(uint *)(puVar35 + -4) = uVar36;\n              *(dword *)(puVar35 + -8) = local_44->e_entry;\n              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;\n              *(int *)(puVar35 + -0x10) = local_34;\n              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;\n              uStack_190 = FUN_00163f70();\n              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;\n            }\n            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;\n            puVar2 = puStack_3c + 6;\n            pEStack_170 = pEVar17;\n            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;\n            uVar36 = puStack_3c[7];\n            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                     uVar36 << 0x18;\n            puStack_3c = puVar2;\n          } while (*puVar2 == 0);\n        }\n        pEVar17 = pEStack_154;\n        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;\n        *(undefined4 *)(puVar35 + -0xc) = 0xc0;\n        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;\n                    \n        *(undefined4 *)(puVar35 + -0x14) = 0x87881;\n        FUN_000da200();\n      }\n      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);\n      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);\n      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n        ppuStack_54 = local_38 + -0x47743;\n        ppuStack_5c = local_38 + -0x47469;\n        puStack_58 = (uint *)0xc5;\n                    \n        dStack_60 = 0x83bf9;\n        FUN_000da200();\n      }\n      uVar36 = uVar16 - *(uint *)(iVar20 + 4);\n      uVar26 = uVar36 - 0x8000;\n      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +\n               (uint)(0x7fff < uVar36);\n      if (uVar36 + (0x7fff7fff < uVar26) == 0) {\n        *param_3 = uVar26;\n        param_3[1] = uVar36;\n        return pEStack_50;\n      }\n    }" ({ "{") (expression_statement "iVar20 = *(int *)(param_1 + 0x154);" (assignment_expression "iVar20 = *(int *)(param_1 + 0x154)" (identifier "iVar20") (= "=") (pointer_expression "*(int *)(param_1 + 0x154)" (* "*") (cast_expression "(int *)(param_1 + 0x154)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x154)" (( "(") (binary_expression "param_1 + 0x154" (identifier "param_1") (+ "+") (number_literal "0x154")) () ")"))))) (; ";")) (if_statement "if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }" (if "if") (parenthesized_expression "((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20))" (( "(") (binary_expression "(*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||\n         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)" (parenthesized_expression "(*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158))" (( "(") (binary_expression "*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)" (pointer_expression "*(int *)(param_1 + 0x160)" (* "*") (cast_expression "(int *)(param_1 + 0x160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")")))) (!= "!=") (pointer_expression "*(int *)(param_1 + 0x158)" (* "*") (cast_expression "(int *)(param_1 + 0x158)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x158)" (( "(") (binary_expression "param_1 + 0x158" (identifier "param_1") (+ "+") (number_literal "0x158")) () ")"))))) () ")")) (|| "||") (parenthesized_expression "(uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)" (( "(") (comma_expression "uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20" (assignment_expression "uVar36 = local_40" (identifier "uVar36") (= "=") (identifier "local_40")) (, ",") (binary_expression "*(int *)(param_1 + 0x15c) != iVar20" (pointer_expression "*(int *)(param_1 + 0x15c)" (* "*") (cast_expression "(int *)(param_1 + 0x15c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x15c)" (( "(") (binary_expression "param_1 + 0x15c" (identifier "param_1") (+ "+") (number_literal "0x15c")) () ")")))) (!= "!=") (identifier "iVar20"))) () ")"))) () ")")) (compound_statement "{\n        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;\n        uVar36 = local_40 >> 3;\n        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }\n        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }\n      }" ({ "{") (expression_statement "uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;" (assignment_expression "uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d" (identifier "uVar40") (= "=") (binary_expression "(uint)local_44 >> 3 | local_40 << 0x1d" (binary_expression "(uint)local_44 >> 3" (cast_expression "(uint)local_44" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_44")) (>> ">>") (number_literal "3")) (| "|") (binary_expression "local_40 << 0x1d" (identifier "local_40") (<< "<<") (number_literal "0x1d")))) (; ";")) (expression_statement "uVar36 = local_40 >> 3;" (assignment_expression "uVar36 = local_40 >> 3" (identifier "uVar36") (= "=") (binary_expression "local_40 >> 3" (identifier "local_40") (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {\n          return (Elf32_Ehdr *)0x0;\n        }" (if "if") (parenthesized_expression "((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36)" (( "(") (binary_expression "(uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36" (parenthesized_expression "(uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8))" (( "(") (binary_expression "uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)" (identifier "uVar40") (< "<") (call_expression "(uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)" (( "(") (binary_expression "(*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +\n                            (*(int *)(param_1 + 0x15c) - iVar20) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158))" (( "(") (binary_expression "*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)" (pointer_expression "*(int *)(param_1 + 0x160)" (* "*") (cast_expression "(int *)(param_1 + 0x160)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x160)" (( "(") (binary_expression "param_1 + 0x160" (identifier "param_1") (+ "+") (number_literal "0x160")) () ")")))) (- "-") (pointer_expression "*(int *)(param_1 + 0x158)" (* "*") (cast_expression "(int *)(param_1 + 0x158)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x158)" (( "(") (binary_expression "param_1 + 0x158" (identifier "param_1") (+ "+") (number_literal "0x158")) () ")"))))) () ")")) (+ "+") (binary_expression "(*(int *)(param_1 + 0x15c) - iVar20) * 8" (parenthesized_expression "(*(int *)(param_1 + 0x15c) - iVar20)" (( "(") (binary_expression "*(int *)(param_1 + 0x15c) - iVar20" (pointer_expression "*(int *)(param_1 + 0x15c)" (* "*") (cast_expression "(int *)(param_1 + 0x15c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x15c)" (( "(") (binary_expression "param_1 + 0x15c" (identifier "param_1") (+ "+") (number_literal "0x15c")) () ")")))) (- "-") (identifier "iVar20")) () ")")) (* "*") (number_literal "8"))) () ")")))) () ")")) (<= "<=") (identifier "uVar36")) () ")")) (compound_statement "{\n          return (Elf32_Ehdr *)0x0;\n        }" ({ "{") (return_statement "return (Elf32_Ehdr *)0x0;" (return "return") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (if_statement "if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           ) {\n          return (Elf32_Ehdr *)0x0;\n        }" (if "if") (parenthesized_expression "((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0\n           )" (( "(") (binary_expression "(*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0" (parenthesized_expression "(*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f))" (( "(") (binary_expression "*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)" (pointer_expression "*(uint *)(iVar20 + (uVar40 >> 5) * 4)" (* "*") (cast_expression "(uint *)(iVar20 + (uVar40 >> 5) * 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar20 + (uVar40 >> 5) * 4)" (( "(") (binary_expression "iVar20 + (uVar40 >> 5) * 4" (identifier "iVar20") (+ "+") (binary_expression "(uVar40 >> 5) * 4" (parenthesized_expression "(uVar40 >> 5)" (( "(") (binary_expression "uVar40 >> 5" (identifier "uVar40") (>> ">>") (number_literal "5")) () ")")) (* "*") (number_literal "4"))) () ")")))) (& "&") (binary_expression "1 << ((byte)((uint)local_44 >> 3) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)((uint)local_44 >> 3) & 0x1f)" (( "(") (binary_expression "(byte)((uint)local_44 >> 3) & 0x1f" (call_expression "(byte)((uint)local_44 >> 3)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "((uint)local_44 >> 3)" (( "(") (binary_expression "(uint)local_44 >> 3" (cast_expression "(uint)local_44" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "local_44")) (>> ">>") (number_literal "3")) () ")"))) (& "&") (number_literal "0x1f")) () ")")))) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n          return (Elf32_Ehdr *)0x0;\n        }" ({ "{") (return_statement "return (Elf32_Ehdr *)0x0;" (return "return") (cast_expression "(Elf32_Ehdr *)0x0" (( "(") (type_descriptor "Elf32_Ehdr *" (type_identifier "Elf32_Ehdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}"))) (} "}"))) (expression_statement "ppuStack_54 = (undefined **)&local_20;" (assignment_expression "ppuStack_54 = (undefined **)&local_20" (identifier "ppuStack_54") (= "=") (cast_expression "(undefined **)&local_20" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (pointer_expression "&local_20" (& "&") (identifier "local_20")))) (; ";")) (expression_statement "puStack_58 = *(uint **)(param_1 + 0x148);" (assignment_expression "puStack_58 = *(uint **)(param_1 + 0x148)" (identifier "puStack_58") (= "=") (pointer_expression "*(uint **)(param_1 + 0x148)" (* "*") (cast_expression "(uint **)(param_1 + 0x148)" (( "(") (type_descriptor "uint **" (type_identifier "uint") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x148)" (( "(") (binary_expression "param_1 + 0x148" (identifier "param_1") (+ "+") (number_literal "0x148")) () ")"))))) (; ";")) (expression_statement "dStack_60 = 0x83b5e;" (assignment_expression "dStack_60 = 0x83b5e" (identifier "dStack_60") (= "=") (number_literal "0x83b5e")) (; ";")) (expression_statement "ppuStack_5c = (undefined **)param_1;" (assignment_expression "ppuStack_5c = (undefined **)param_1" (identifier "ppuStack_5c") (= "=") (cast_expression "(undefined **)param_1" (( "(") (type_descriptor "undefined **" (type_identifier "undefined") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_1"))) (; ";")) (expression_statement "local_34 = iVar20;" (assignment_expression "local_34 = iVar20" (identifier "local_34") (= "=") (identifier "iVar20")) (; ";")) (expression_statement "iVar15 = FUN_001b2c60();" (assignment_expression "iVar15 = FUN_001b2c60()" (identifier "iVar15") (= "=") (call_expression "FUN_001b2c60()" (identifier "FUN_001b2c60") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);" (assignment_expression "uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1)" (identifier "uVar40") (= "=") (pointer_expression "*(uint *)(local_44->e_ident_magic_str + iVar15 + -1)" (* "*") (cast_expression "(uint *)(local_44->e_ident_magic_str + iVar15 + -1)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44->e_ident_magic_str + iVar15 + -1)" (( "(") (binary_expression "local_44->e_ident_magic_str + iVar15 + -1" (binary_expression "local_44->e_ident_magic_str + iVar15" (field_expression "local_44->e_ident_magic_str" (identifier "local_44") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar15")) (+ "+") (number_literal "-1")) () ")"))))) (; ";")) (expression_statement "uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);" (assignment_expression "uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4)" (identifier "uVar16") (= "=") (pointer_expression "*(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4)" (* "*") (cast_expression "(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_44->e_ident_magic_str + iVar15 + -1 + 4)" (( "(") (binary_expression "local_44->e_ident_magic_str + iVar15 + -1 + 4" (binary_expression "local_44->e_ident_magic_str + iVar15 + -1" (binary_expression "local_44->e_ident_magic_str + iVar15" (field_expression "local_44->e_ident_magic_str" (identifier "local_44") (-> "->") (field_identifier "e_ident_magic_str")) (+ "+") (identifier "iVar15")) (+ "+") (number_literal "-1")) (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;" (assignment_expression "uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (identifier "uVar16") (= "=") (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8" (binary_expression "uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8" (binary_expression "uVar16 >> 0x18" (identifier "uVar16") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar16 & 0xff0000) >> 8" (parenthesized_expression "(uVar16 & 0xff0000)" (( "(") (binary_expression "uVar16 & 0xff0000" (identifier "uVar16") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar16 & 0xff00) << 8" (parenthesized_expression "(uVar16 & 0xff00)" (( "(") (binary_expression "uVar16 & 0xff00" (identifier "uVar16") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar16 << 0x18" (identifier "uVar16") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;" (assignment_expression "uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18" (identifier "uVar40") (= "=") (binary_expression "uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18" (binary_expression "uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8" (binary_expression "uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8" (binary_expression "uVar40 >> 0x18" (identifier "uVar40") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar40 & 0xff0000) >> 8" (parenthesized_expression "(uVar40 & 0xff0000)" (( "(") (binary_expression "uVar40 & 0xff0000" (identifier "uVar40") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar40 & 0xff00) << 8" (parenthesized_expression "(uVar40 & 0xff00)" (( "(") (binary_expression "uVar40 & 0xff00" (identifier "uVar40") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar40 << 0x18" (identifier "uVar40") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (*(int *)(local_30 + 0x14) == 0) {\n        pEStack_50 = (Elf32_Ehdr *)0x83bfe;\n        FUN_00051e10();\n        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;\n        uStack_1c0 = uStack_28;\n        iStack_1bc = iStack_24;\n        cStack_1b2 = (char)local_30;\n        ppuStack_5c = (undefined **)uVar40;\n        puStack_58 = param_3;\n        ppuStack_54 = (undefined **)iVar20;\n        pEStack_50 = (Elf32_Ehdr *)uVar36;\n        if (local_40 != 4) {\n                    \n          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);\n        }\n        EStack_104.e_type = 0;\n        EStack_104.e_machine = 0;\n        EStack_104.e_version = 0;\n        piStack_18c = *(int **)&local_44->e_ident_abiversion;\n        EStack_104.e_entry = 0;\n        EStack_104.e_phoff = 0;\n        EStack_104.e_shoff = 0;\n        pcVar3 = *(code **)(*piStack_18c + 0x8c);\n        if (pcVar3 == FUN_000a42b0) {\n          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);\n        }\n        else {\n          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);\n        }\n        puVar35 = auStack_1e8;\n        pEStack_1c4 = pEVar17;\n        puVar2 = puStack_3c;\n        if (local_38 == (undefined **)0x0) {\nLAB_000865b0:\n          puStack_3c = puVar2;\n          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n          {\n            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n            *(undefined4 *)(puVar35 + -0x14) = 0x865db;\n            uVar18 = gettext();\n            *(undefined4 *)(puVar35 + -0x10) = uVar18;\n            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;\n            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();\n          }\n          return pEVar17;\n        }\n        uVar36 = puStack_3c[1];\n        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18\n        ;\n        puVar35 = auStack_1e8;\n        if (*puStack_3c == 0) {\n          iStack_180 = 0;\n          pEStack_170 = (Elf32_Ehdr *)0x0;\n          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;\n          puVar35 = auStack_1e8;\n          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;\n          do {\n            uStack_190 = uVar36;\n            if (cStack_1b2 == '\0') {\nLAB_00083ea0:\n              uVar36 = puStack_3c[2];\n              puStack_d0 = (undefined *)0x0;\n              EStack_104.e_flags = 0;\n              EStack_104.e_ehsize = 0xffff;\n              EStack_104.e_phentsize = 0xffff;\n              pEStack_160 = (Elf32_Ehdr *)\n                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                            uVar36 << 0x18);\n              EStack_104.e_phnum = 0;\n              EStack_104.e_shentsize = 0x8000;\n              EStack_104.e_shnum = 0;\n              EStack_104.e_shstrndx = 0;\n              if (pEStack_160 < pEStack_1c4) {\n                if ((piStack_1c != (int *)0x0) &&\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];\n                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=\n                    pEStack_160) {\n                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;\n                  FUN_000da200();\n                }\n                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);\n                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);\n                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||\n                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {\nLAB_00084caa:\n                  pEStack_158 = (Elf32_Ehdr *)0x0;\n                  goto LAB_00083dc2;\n                }\n                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];\n                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);\n                if (pEVar17 <= pEStack_168) goto LAB_00087e08;\n                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;\n                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;\n                *(int **)(puVar35 + -0xc) = piStack_18c;\n                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;\n                cVar12 = FUN_001e6ec0();\n                if (cVar12 != '\0') goto LAB_00083dc2;\nLAB_00084d30:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                pcVar3 = *(code **)(*piStack_18c + 0x40);\n                adStack_cc[4] = 0;\n                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;\n                  pdStack_198 = adStack_cc;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;\n                  FUN_000b0fc0();\n                }\n                else {\n                  *(dword *)(puVar35 + -8) = local_44->e_entry;\n                  pdStack_198 = adStack_cc;\n                  *(int **)(puVar35 + -0xc) = piStack_18c;\n                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;\n                  (*pcVar3)();\n                }\n                puVar34 = puVar35 + -4;\n                bVar45 = false;\n                bVar48 = iStack_180 == 0;\n                if (bVar48) {\n                  iVar20 = 6;\n                  pEVar17 = pEStack_84;\n                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);\n                  do {\n                    if (iVar20 == 0) break;\n                    iVar20 = iVar20 + -1;\n                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;\n                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;\n                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                  } while (bVar48);\n                  bVar46 = false;\n                  bVar45 = (!bVar45 && !bVar48) == bVar45;\n                  if (!bVar45) {\n                    iVar20 = 7;\n                    pEVar17 = pEStack_84;\n                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);\n                    do {\n                      if (iVar20 == 0) break;\n                      iVar20 = iVar20 + -1;\n                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                    } while (bVar45);\n                    bVar48 = false;\n                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                    if (!bVar45) {\n                      iVar20 = 0x11;\n                      pEVar17 = pEStack_84;\n                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);\n                      do {\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                      } while (bVar45);\n                      bVar46 = false;\n                      bVar45 = (!bVar48 && !bVar45) == bVar48;\n                      if (!bVar45) {\n                        iVar20 = 5;\n                        pEVar17 = pEStack_84;\n                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;\n                        do {\n                          if (iVar20 == 0) break;\n                          iVar20 = iVar20 + -1;\n                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                        } while (bVar45);\n                        bVar48 = false;\n                        bVar45 = (!bVar46 && !bVar45) == bVar46;\n                        if (!bVar45) {\n                          iVar20 = 5;\n                          pEVar17 = pEStack_84;\n                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);\n                          do {\n                            if (iVar20 == 0) break;\n                            iVar20 = iVar20 + -1;\n                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                          } while (bVar45);\n                          bVar46 = false;\n                          bVar45 = (!bVar48 && !bVar45) == bVar48;\n                          if (!bVar45) {\n                            iVar20 = 4;\n                            pEVar17 = pEStack_84;\n                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);\n                            do {\n                              if (iVar20 == 0) break;\n                              iVar20 = iVar20 + -1;\n                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                            } while (bVar45);\n                            bVar48 = false;\n                            bVar45 = (!bVar46 && !bVar45) == bVar46;\n                            if (!bVar45) {\n                              iVar20 = 10;\n                              pEVar17 = pEStack_84;\n                              pwVar24 = &pEStack_154[-0x5774].e_shnum;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                              } while (bVar45);\n                              bVar46 = false;\n                              bVar45 = (!bVar48 && !bVar45) == bVar48;\n                              if (!bVar45) {\n                                iVar20 = 0x12;\n                                pEVar17 = pEStack_84;\n                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;\n                                do {\n                                  if (iVar20 == 0) break;\n                                  iVar20 = iVar20 + -1;\n                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;\n                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;\n                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                                } while (bVar45);\n                                bVar48 = false;\n                                bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                if (!bVar45) {\n                                  iVar20 = 5;\n                                  pEVar17 = pEStack_84;\n                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;\n                                  do {\n                                    if (iVar20 == 0) break;\n                                    iVar20 = iVar20 + -1;\n                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;\n                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                  } while (bVar45);\n                                  bVar46 = false;\n                                  bVar45 = (!bVar48 && !bVar45) == bVar48;\n                                  if (!bVar45) {\n                                    iVar20 = 5;\n                                    pEVar17 = pEStack_84;\n                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;\n                                    do {\n                                      if (iVar20 == 0) break;\n                                      iVar20 = iVar20 + -1;\n                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;\n                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;\n                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)\n                                      ;\n                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                    } while (bVar45);\n                                    bVar48 = false;\n                                    bVar45 = (!bVar46 && !bVar45) == bVar46;\n                                    if (!bVar45) {\n                                      iVar20 = 6;\n                                      pEVar17 = pEStack_84;\n                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;\n                                      do {\n                                        if (iVar20 == 0) break;\n                                        iVar20 = iVar20 + -1;\n                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;\n                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;\n                                        pEVar17 = (Elf32_Ehdr *)\n                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);\n                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);\n                                      } while (bVar45);\n                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;\n                                    }\n                                  }\n                                }\n                              }\n                              goto LAB_0008507a;\n                            }\n                          }\n                        }\n                      }\n                    }\n                  }\nLAB_00084dd1:\n                  *(char **)(puVar35 + -8) = acStack_a0;\n                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;\n                  *(int **)(puVar35 + -0x14) = piStack_18c;\n                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;\n                  uVar51 = FUN_00129620();\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  if (acStack_a0[0] != '\0') {\n                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];\n                    adStack_cc[4] =\n                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +\n                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);\n                  }\n                  iStack_180 = 1;\n                  puVar35 = puVar35 + -4;\n                }\n                else {\n                  if (iStack_180 == 1) goto LAB_00084dd1;\n                  if (iStack_180 == 3) {\nLAB_00084fa5:\n                    uVar18._0_1_ = local_44->e_ident_abiversion;\n                    uVar18._1_1_ = local_44->e_ident_pad[0];\n                    uVar18._2_1_ = local_44->e_ident_pad[1];\n                    uVar18._3_1_ = local_44->e_ident_pad[2];\n                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar18;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;\n                      uVar19 = FUN_00130d00();\n                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;\n                      uVar22 = gettext();\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;\n                      *(undefined4 *)(puVar35 + -0x10) = uVar19;\n                      *(undefined4 *)(puVar35 + -0x14) = uVar22;\n                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x1c) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;\n                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -4;\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;\n                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;\n                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;\n                      FUN_001e7ee0();\n                      puVar21 = apuStack_b8[0];\n                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;\n                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;\n                      uVar19 = gettext();\n                      *(undefined1 **)(puVar35 + -0x14) = puVar21;\n                      *(undefined4 *)(puVar35 + -0x18) = uVar19;\n                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;\n                      *(uint *)(puVar35 + -0x20) = uStack_190;\n                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;\n                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;\n                      FUN_000d1b10();\n                      puVar34 = puVar35 + -8;\n                      if (apuStack_b8[0] != auStack_b0) {\n                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];\n                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;\n                        FUN_00248220();\n                        puVar34 = puVar35 + -8;\n                      }\n                    }\n                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;\n                    *(undefined1 **)(puVar34 + -8) = auStack_130;\n                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;\n                    *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;\n                    iVar20 = FUN_00130350();\n                    if (iVar20 != 0) {\n                      *(int **)(puVar34 + -8) = &iStack_13c;\n                      *(int *)(puVar34 + -0xc) = iVar20;\n                      *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;\n                      iVar20 = FUN_001298b0();\n                      if (iStack_13c != 0) {\n                        *(int *)(puVar34 + -0xc) = iStack_13c;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;\n                        uVar18 = FUN_00130d00();\n                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;\n                        FUN_000d1390();\n                      }\n                      if (iVar20 != 0) {\n                        uVar18 = *(undefined4 *)(iVar20 + 4);\n                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;\n                        uVar19 = gettext();\n                        *(undefined4 *)(puVar34 + -0xc) = uVar18;\n                        *(undefined4 *)(puVar34 + -0x10) = uVar19;\n                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;\n                        FUN_000d1390();\n                      }\n                    }\n                    iStack_180 = 3;\n                  }\n                  else {\nLAB_0008507a:\n                    iStack_180 = 2;\n                  }\n                  adStack_cc[3] = 0;\n                  adStack_cc[4] = 0;\n                  puVar35 = puVar34;\n                }\n                if (adStack_cc[0] != 0) {\n                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                  *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;\n                  FUN_000da200();\n                }\n                adStack_cc[0] = 0xffffffff;\n                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;\n                  FUN_00248220();\n                }\n                pdStack_188 = adStack_cc;\n              }\n              else {\n                if ((piStack_1c == (int *)0x0) ||\n                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),\n                   pEStack_158 == (Elf32_Ehdr *)0x0)) {\n                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {\nLAB_000879e0:\n                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;\n                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;\n                    FUN_000da200();\n                  }\n                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];\n                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];\n                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {\n                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;\n                    FUN_000da200();\n                  }\n                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);\n                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;\n                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;\n                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;\n                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (0xfffffffd < uVar36) {\n                    if (EStack_104.e_flags != 0) {\n                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x716;\n                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;\n                      FUN_000da200();\n                    }\n                    goto LAB_00083d3c;\n                  }\n                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))\n                  goto LAB_00087c11;\nLAB_00084c30:\n                  if (uVar36 == 0xfffffffd) {\n                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;\n                    FUN_000da200();\n                  }\n                }\n                else {\nLAB_00083d27:\n                  dVar39 = *(dword *)&pEStack_158->e_type;\n                  uVar36 = dVar39 - 1;\n                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;\nLAB_00083d3c:\n                  EStack_104.e_flags = 0xffffffff;\n                  dVar39 = EStack_104.e_flags;\n                }\n                EStack_104.e_flags = dVar39;\n                EStack_104.e_shnum = pEStack_158->e_shnum;\n                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;\n                puStack_d0 = *(undefined **)(pEStack_158 + 1);\n                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;\n                if (bVar27 == 6) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;\n                }\n                else if (bVar27 == 10) {\n                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;\n                }\n                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                if ((char)bVar27 < '\0') {\n                  bVar28 = (byte)pEStack_158->e_phentsize;\n                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);\n                  if ((bVar28 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {\nLAB_00085168:\n                      pEStack_168 = (Elf32_Ehdr *)0x0;\n                      pdStack_188 = &EStack_104.e_flags;\n                      goto LAB_00084d30;\n                    }\n                  }\n                  else if ((bVar28 & 7) == 4) goto LAB_00085168;\n                }\n                pdStack_188 = &EStack_104.e_flags;\nLAB_00083dc2:\n                pdStack_184 = &EStack_104.e_flags;\n                adStack_cc[0] = 0;\n                adStack_cc[1] = 0xffffffff;\n                adStack_cc[2] = 0x80000000;\n                adStack_cc[3] = 0;\n                adStack_cc[4] = 0;\n              }\n              uVar18 = EStack_104._16_4_;\n              pEVar17 = pEStack_154;\n              pdStack_198 = adStack_cc;\n              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);\n              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);\n              if (bVar27 == 0) {\n                uStack_1a0 = uStack_190 + uStack_1c0;\n                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +\n                             (uint)CARRY4(uStack_190,uStack_1c0);\n                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);\n                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;\n                uVar36 = puStack_3c[3];\n                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);\n                pEVar29 = (Elf32_Ehdr *)\n                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                          uVar36 << 0x18);\n                pwStack_1b8 = &pEVar29[-1].e_phentsize;\n                uVar36 = puStack_3c[2];\n                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);\n                pEStack_1a8 = (Elf32_Ehdr *)\n                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                              uVar36 << 0x18);\n                pEVar42 = pEVar29;\n                pEStack_174 = pEVar29;\n                pEStack_168 = pEVar29;\n                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&\n                   (pEVar44 != (Elf32_Ehdr *)0x0)) {\n                  pEStack_16c = pEVar44;\n                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {\n                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&\n                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;\nLAB_00084bc8:\n                    if ((pEVar44 == pEStack_16c) ||\n                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;\n                    EStack_104.e_type = 0;\n                    EStack_104.e_machine = 0;\n                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                    {\nLAB_00084ac0:\n                      EStack_104.e_type = 0;\n                      EStack_104.e_machine = 0;\n                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;\n                      uVar18 = gettext();\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;\n                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;\n                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;\n                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;\n                      FUN_000d1b10();\n                      uVar36 = puStack_3c[2];\n                      pEStack_1a8 = (Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                      pEVar42 = pEVar17;\n                      goto LAB_00084a35;\n                    }\nLAB_00084621:\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\nLAB_00084647:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                    *(undefined4 *)(puVar35 + -4) = 0x84655;\n                    pEStack_1a8 = pEStack_17c;\n                    uVar18 = FUN_0004d6c0();\n                    *(undefined4 *)(puVar35 + -0xc) = uVar18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;\n                    uVar13 = FUN_000a7d80();\n                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                    uVar18 = extraout_EDX;\n                    pEVar29 = pEVar42;\n                    goto LAB_0008466d;\n                  }\n                  pEVar42 = (Elf32_Ehdr *)0x0;\nLAB_00084065:\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 1) {\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    goto LAB_00084647;\n                  }\n                  if (uVar18 == 0) {\n                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;\n                    uVar18 = gettext();\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                    *(uint *)(puVar35 + -0x14) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -0x18) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;\n                    FUN_000d1b10();\n                    uVar36 = puStack_3c[2];\n                    pEStack_1a8 = (Elf32_Ehdr *)\n                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);\n                    pEVar42 = pEVar17;\n                    goto LAB_00084621;\n                  }\n                  if (uVar18 != 2) goto LAB_00084a35;\n                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||\n                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))\n                  goto LAB_000845c4;\n                  if (pEVar29 == (Elf32_Ehdr *)0x78) {\n                    pEStack_160->e_ident_class = 0x60;\n                    pEStack_160->e_ident_data = 0;\n                    pEStack_160->e_ident_version = 0;\n                    pEStack_160->e_ident_osabi = 0;\n                  }\n                  goto LAB_000840c8;\n                }\n                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084b1c:\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if (uVar18 == 0) {\n                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = pEVar42;\n                  }\n                  else {\n                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;\n                    pEVar42 = local_44;\n                    pEStack_17c = pEStack_1a8;\n                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  }\n                }\n                else {\n                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||\n                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {\n                    pEStack_16c = pEStack_158;\n                    goto LAB_00084b1c;\n                  }\n                  pEStack_16c = pEStack_158;\n                  pEVar42 = pEStack_158;\nLAB_00084a15:\n                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)\n                  goto LAB_00084b1c;\n                  EStack_104.e_type = 0;\n                  EStack_104.e_machine = 0;\n                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))\n                  goto LAB_00084ac0;\nLAB_00084a35:\n                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;\n                  pEStack_17c = pEStack_1a8;\n                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;\n                }\n                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;\n                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;\n                pEStack_1a8 = pEStack_17c;\n                uVar13 = FUN_00129570();\n                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);\n                pEStack_16c = (Elf32_Ehdr *)0x0;\n                uVar18 = extraout_EDX_02;\n                pEVar29 = pEVar42;\nLAB_0008466d:\n                pEVar44 = pEStack_16c;\n                pEVar17 = pEStack_174;\n                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;\n                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;\n                uVar32 = (undefined3)((uint)uVar18 >> 8);\n                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);\n                if ((char)uStack_1b0 == '\0') {\n                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);\n                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {\nLAB_000845c4:\n                    *(undefined **)pEStack_160 = (undefined *)0x60;\n                    goto LAB_000840c8;\n                  }\n                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                  cStack_1b1 = '\x01';\nLAB_000847e7:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  cVar12 = (char)uVar36;\n                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {\nLAB_00084960:\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xac);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;\n                      uVar18 = (*pcVar3)();\n                      if ((char)uVar18 == '\0') {\n                        *(undefined4 *)(puVar35 + -4) = uVar18;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;\n                        FUN_000da200();\n                      }\n                      puVar30 = *(undefined **)pEStack_178;\n                      *(undefined4 *)(puVar35 + -0x10) = 0;\n                      *(undefined4 *)(puVar35 + -0x14) = 0;\n                      *(undefined4 *)(puVar35 + -0x18) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                      pcVar3 = *(code **)(puVar30 + 0xb0);\n                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                    }\n                    else {\n                      pdVar23 = &pEStack_16c->e_phoff;\n                      while (*pdVar23 != 0) {\n                        pdVar23 = (dword *)pdVar23[2];\n                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;\n                      }\n                      if (pdVar23[1] == 0xffffffff) {\nLAB_00084989:\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;\n                        FUN_000da200();\n                      }\n                      *(undefined4 *)(puVar35 + -0xc) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                    }\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    iVar20 = *(int *)(iStack_48 + 0x14);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c11;\n                      FUN_00051e10();\nLAB_00087c11:\n                      pEVar17 = pEStack_154;\n                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;\n                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;\n                      FUN_000da200();\n                    }\n                    iVar15 = *(int *)(iVar20 + 0x20);\n                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;\n                      FUN_000da200();\n                    }\n                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87beb;\n                      FUN_00052f10();\n                    }\n                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;\n                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +\n                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                         (uint)(pEVar44 < pEVar17));\nLAB_0008524b:\n                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);\n                    if (pwStack_1b8 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(*(undefined **)\n                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +\n                                          (int)pEStack_154))();\n                      return pEVar17;\n                    }\n                  }\n                  else {\nLAB_000847f9:\n                    pEVar17 = pEStack_178;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                    pEVar42 = (Elf32_Ehdr *)uStack_128;\n                    uVar53 = CONCAT44(pEVar29,pEStack_174);\n                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;\n                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {\n                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;\n                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                        *(int *)(puVar35 + -4) = iVar20;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;\n                        FUN_000da200();\n                      }\n                      uVar36 = *(uint *)(iVar20 + 4);\n                      uVar40 = uVar36 + 0x8000;\n                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);\n                      uStack_128 = CONCAT44(uVar16,uVar40);\n                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      *(undefined **)pEStack_160 =\n                           (undefined *)\n                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                           uVar16 * 0x1000000);\n                      goto LAB_000840c8;\n                    }\n                    pEVar44 = pEVar29;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;\n                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;\n                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);\n                    if (bVar27 == 0) {\n                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                      pEVar38 = pEStack_174;\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;\n                        cVar12 = FUN_001e6ba0();\n                        goto LAB_0008666f;\n                      }\n                      goto LAB_00084855;\n                    }\n                    if (cVar12 == '\0') {\n                      pEVar44 = pEStack_174;\n                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {\n                        pwVar24 = &pEStack_174[-1].e_phentsize;\n                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||\n                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;\n                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);\n                        pEVar44 = pEStack_16c;\n                        uVar53 = CONCAT44(iStack_48,pEStack_16c);\n                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (bVar45) goto LAB_00086f95;\n                      }\n                      uVar36 = puStack_3c[1];\n                      uVar40 = *puStack_3c;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);\n                      uVar36 = (uint)(local_20 < uVar36 + 8);\n                      uVar40 = -iVar20;\n                      bVar45 = iVar20 != 0 || uVar40 < uVar36;\n                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);\n                      bVar48 = uVar40 - uVar36 == 0;\n                      if (iVar20 == 0 && uVar40 >= uVar36) {\n                        puStack_194 = *(undefined **)pEStack_160;\n                        bVar45 = false;\n                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;\n                        if (!bVar48) {\n                          uVar36._0_1_ = pEStack_160->e_ident_class;\n                          uVar36._1_1_ = pEStack_160->e_ident_data;\n                          uVar36._2_1_ = pEStack_160->e_ident_version;\n                          uVar36._3_1_ = pEStack_160->e_ident_osabi;\n                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;\n                          bVar45 = false;\n                          bVar7 = uVar36 != 0x60000000;\n                          bVar8 = uVar36 != 0x4def7b82;\n                          bVar46 = uVar36 != 0x4ffffb82;\n                          bVar48 = (bVar7 && bVar8) && bVar46;\n                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);\n                          puStack_194 = (undefined *)\n                                        CONCAT31(puStack_194._1_3_,\n                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||\n                                                 uVar36 == 0x4ffffb82);\n                          if ((!bVar7 || !bVar8) || !bVar46) {\n                            pdStack_188 = *(dword **)(iStack_48 + 8);\n                            *(uint *)&pEStack_160->e_ident_class =\n                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;\n                            pwVar24 = &pEStack_174[-1].e_phentsize;\n                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                            goto LAB_00086f95;\n                          }\n                        }\n                      }\n                      iVar20 = 0x12;\n                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;\n                      pEVar43 = pEStack_154 + -0x57ab;\n                      do {\n                        pEVar38 = pEVar29;\n                        pEVar44 = pEVar43;\n                        if (iVar20 == 0) break;\n                        iVar20 = iVar20 + -1;\n                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);\n                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);\n                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;\n                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;\n                        pEVar29 = pEVar38;\n                        pEVar43 = pEVar44;\n                      } while (bVar48);\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((!bVar45 && !bVar48) != bVar45) {\n                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;\n                        uStack_120._4_4_ = uStack_128._4_4_;\n                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        if (((pEStack_16c->e_phentsize & 7) == 0) &&\n                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {\n                          puStack_138 = (undefined *)0x0;\n                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                            uVar36 = puStack_3c[4];\n                            uVar40 = puStack_3c[5];\n                            *(uint *)(puVar35 + -4) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -8) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                            *(dword **)(puVar35 + -0x10) = pdStack_188;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;\n                            uStack_120 = FUN_000a9dc0();\n                            *(undefined ***)(puVar35 + -8) = &puStack_138;\n                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;\n                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;\n                            FUN_0007c1b0();\n                            puVar30 = puStack_138;\n                            if (puStack_138 == (undefined *)0x0) {\n                              uVar53 = uStack_120;\n                              if ((pEStack_16c->e_phentsize & 7) != 0) {\n                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;\n                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;\n                                *(undefined1 **)(puVar35 + -0x10) =\n                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);\n                    \n                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;\n                                FUN_000da200();\n                              }\n                              goto LAB_00087667;\n                            }\n                          }\n                          else {\nLAB_00087667:\n                            uStack_120 = uVar53;\n                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);\n                          }\n                          pEVar38 = pEVar42;\n                          pEVar44 = local_44;\n                          uVar53 = uStack_120;\n                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;\n                        }\n                        pEVar44 = pEStack_154;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;\n                        uStack_120 = uVar53;\n                        uVar18 = gettext();\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        pEVar38 = (Elf32_Ehdr *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);\n                        *(uint *)(puVar35 + -0x14) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;\n                        FUN_000d1b10();\n                        uStack_128 = uStack_120;\n                      }\nLAB_00086d73:\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);\nLAB_00086d80:\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                    }\n                    else {\n                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\nLAB_00086f95:\n                    if (pwVar24 < (word *)0xf3) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();\n                      return pEVar17;\n                    }\n                  }\n                  uVar10 = uStack_128;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {\nLAB_00085507:\n                    uVar36 = 0;\nLAB_00085509:\n                    puVar30 = *(undefined **)pEStack_160;\n                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |\n                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;\n                    uVar36 = uVar40 | uVar36;\n                    uVar40 = uVar40 & 0x2800000;\n                    if (uVar40 == 0x800000) {\n                      uVar36 = uVar36 | 0x400000;\n                    }\n                    else {\n                      if (uVar40 != 0x2000000) goto LAB_000852e8;\n                      uVar36 = uVar36 | 0x1000000;\n                    }\n                    *(undefined **)pEStack_160 =\n                         (undefined *)\n                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18);\n                  }\n                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {\n                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;\n                  }\n                  else {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {\nLAB_000855d5:\n                      uVar36 = 0x200000;\n                      goto LAB_00085509;\n                    }\n                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;\n                  }\nLAB_000852e8:\n                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);\n                  uStack_128 = uVar10;\n                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {\n                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {\n                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;\n                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {\n                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;\n                        }\n                        else {\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;\n                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;\n                        }\n                        goto LAB_00085718;\n                      }\n                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;\n                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {\n                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;\n                      }\n                      else {\n                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;\n                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;\n                      }\n                      goto LAB_00085718;\n                    }\nLAB_000862b5:\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;\n                      FUN_000da200();\n                    }\n                    if (*(char *)(iVar20 + 0x3fed) != '\0') {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      uVar36 = (uint)pEStack_174 >> 0x18;\n                      uVar40 = (int)pEStack_174 << 0x18;\n                      puVar21 = (undefined1 *)\n                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |\n                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);\n                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {\n                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;\n                        cVar12 = FUN_00083a50();\n                        if (cVar12 == '\0') goto LAB_00087160;\n                        if ((uVar40 & 0xfc000000) != 0xe8000000) {\n                          *(undefined1 **)(puVar35 + -4) = puVar21;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;\n                          FUN_000da200();\n                        }\n                        uVar40 = (uint)puVar21 ^ 0xd0000000;\n                        *(undefined4 *)(puVar35 + -4) = 0x86f10;\n                        cVar12 = FUN_0004d340();\n                        if (cVar12 == '\0') {\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = pEVar44;\n                        }\n                        else {\n                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);\n                          if (iStack_164 == 0 &&\n                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {\n                            pEStack_168 = (Elf32_Ehdr *)0x30;\n                            *(uint *)&pEStack_160[-1].e_shstrndx =\n                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |\n                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;\n                            goto LAB_00085788;\n                          }\n                          pEStack_168 = (Elf32_Ehdr *)0x30;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;\n                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;\n                          pEStack_160->e_ident_magic_num = (char)uVar14;\n                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);\n                        }\n                        goto LAB_000840c8;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x86308;\n                      cVar12 = FUN_0004d340();\n                      uVar10 = uStack_128;\n                      if ((cVar12 != '\0') &&\n                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),\n                         iVar20 == 0 &&\n                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))\n                      goto LAB_00086339;\n                    }\nLAB_00085718:\n                    uStack_128 = uVar10;\n                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_pad +\n                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +\n                                          -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_00085788;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;\n                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {\nLAB_000856c9:\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                      if (iVar20 == 0) {\n                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                        *(undefined1 **)(puVar35 + -0x10) =\n                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;\n                        FUN_000da200();\n                      }\n                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;\n                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |\n                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {\n                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&\n                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),\n                           pEVar44 == (Elf32_Ehdr *)0x0 &&\n                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))\n                        goto LAB_000866af;\n                        goto LAB_00085718;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x85de4;\n                      cVar12 = FUN_00083a50();\n                      uVar36 = uVar36 & 0xfc1f0000;\n                      uVar10 = uStack_128;\n                      if (cVar12 == '\0') {\n                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;\n                      }\n                      else if (uVar36 != 0x3c020000) {\n                        *(int *)(puVar35 + -4) = (int)uVar53;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;\n                        FUN_000da200();\n                      }\n                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);\n                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&\n                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {\nLAB_000866af:\n                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;\n                        pEVar29 = pEVar44;\n                        uStack_128 = uVar10;\n                        goto LAB_000840c8;\n                      }\n                      goto LAB_00085788;\n                    }\n                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;\n                    }\n                    else {\n                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;\n                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {\nLAB_000860c0:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\nLAB_000860cc:\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&\n                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),\n                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;\n                    goto LAB_00085718;\n                  }\n                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {\n                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {\n                      pEVar29 = pEStack_160;\n                      if ((((int)uStack_128._4_4_ +\n                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +\n                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&\n                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                        pEVar17 = pEStack_154;\n                        if (iVar20 == 0) {\nLAB_00087f11:\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;\n                          uStack_128 = uVar10;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                           (*(char *)(iVar20 + 0x2931) == '\0')) {\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                            bVar47 = false;\n                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;\n                            bVar7 = uVar36 >> 0x18 == 0;\n                            bVar8 = (uVar36 & 0xff0000) == 0;\n                            bVar46 = (uVar36 & 0xff00) == 0;\n                            bVar48 = (uVar36 & 0xff) == 0;\n                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);\n                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {\n                              iVar20 = 6;\n                              pbVar33 = *(byte **)pEStack_16c;\n                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;\n                              do {\n                                if (iVar20 == 0) break;\n                                iVar20 = iVar20 + -1;\n                                bVar47 = *pbVar33 < (byte)*pdVar23;\n                                bVar49 = *pbVar33 == (byte)*pdVar23;\n                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;\n                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);\n                              } while (bVar49);\n                              if ((!bVar47 && !bVar49) == bVar47) {\n                                uStack_1e0 = 0;\n                                uVar36 = puStack_3c[-4];\n                                uVar40 = puStack_3c[-3];\n                                pEStack_1dc = pEStack_1a8;\n                                if ((Elf32_Ehdr *)\n                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&\n                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {\n                                  uVar36 = puStack_3c[-6];\n                                  uVar40 = puStack_3c[-5];\n                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                                  uVar40 = *puStack_3c;\n                                  uVar16 = puStack_3c[1];\n                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +\n                                           (uint)(0xfffffffb < uVar26);\n                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&\n                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&\n                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],\n                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0\n                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&\n                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {\n                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &\n                                             0xffff;\n                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>\n                                             0x10;\n                                    uVar16 = uVar40 + 0x38420000;\n                                    uVar31 = uVar26 + 0x3c400000;\n                                    *(uint *)&pEStack_160[-1].e_shstrndx =\n                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;\n                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |\n                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;\n                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;\n                                    pEStack_160[-0xffffffff00000001].e_shnum =\n                                         (short)(uVar40 >> 0x10);\n                                    piVar25 = (int *)local_44->e_version;\n                                    if (piVar25 != (int *)0x0) {\n                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=\n                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {\n                                        *(uint **)(puVar35 + -4) = puStack_3c;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';\n                                      iVar20 = *(int *)local_44->e_version;\n                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)\n                                          <= pEStack_170) {\n                                        *(uint *)(puVar35 + -4) = uVar36;\n                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;\n                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;\n                                        *(word **)(puVar35 + -0x10) =\n                                             &pEStack_154[-0x57b2].e_phentsize;\n                    \n                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;\n                                        FUN_000da200();\n                                      }\n                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';\n                                      pEVar29 = pEStack_170;\n                                    }\n                                    goto LAB_000840c8;\n                                  }\n                                }\n                              }\n                            }\n                          }\n                        }\n                      }\n                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;\n                      pEStack_160->e_ident_magic_num = (char)uVar14;\n                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                      goto LAB_000840c8;\n                    }\n                    goto LAB_00085718;\n                  }\n                  if (*(int *)(iStack_48 + 0x14) == 0) {\n                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;\n                    FUN_00051e10();\nLAB_00087d3f:\n                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;\n                    FUN_000da200();\n                  }\n                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;\n                  uVar36 = *(uint *)(iVar20 + 4);\n                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);\n                  uStack_128._4_4_ =\n                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));\n                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {\n                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                    if (iVar20 == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;\n                      FUN_000da200();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')\n                       ) goto LAB_000853b0;\n                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                    uVar16._0_1_ = pEStack_160->e_ident_class;\n                    uVar16._1_1_ = pEStack_160->e_ident_data;\n                    uVar16._2_1_ = pEStack_160->e_ident_version;\n                    uVar16._3_1_ = pEStack_160->e_ident_osabi;\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |\n                       uVar16 << 0x18) == 0x7c426214)) {\n                      uVar36 = uVar36 + 0x10000 >> 0x10;\n                      uVar40 = uVar36 + 0x3c400000;\n                      puVar30 = (undefined *)\n                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                | uVar36 << 0x18);\nLAB_00085643:\n                      *(undefined **)pEStack_160 = puVar30;\n                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;\n                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;\n                      pEStack_160->e_ident_class = (char)uVar36;\n                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);\n                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);\n                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);\n                      pEVar29 = pEStack_16c;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      goto LAB_000840c8;\n                    }\n                  }\n                  else {\nLAB_000853b0:\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;\n                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)\n                    {\n                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;\n                      uVar40._0_1_ = pEStack_160->e_ident_class;\n                      uVar40._1_1_ = pEStack_160->e_ident_data;\n                      uVar40._2_1_ = pEStack_160->e_ident_version;\n                      uVar40._3_1_ = pEStack_160->e_ident_osabi;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&\n                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18) == 0x7c426214)) {\n                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;\n                        uVar40 = uVar36 + 0x3c4c0000;\n                        puVar30 = (undefined *)\n                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);\n                        goto LAB_00085643;\n                      }\n                    }\n                  }\nLAB_000853db:\n                  pEVar29 = pEStack_154;\n                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;\n                  uVar18 = gettext();\n                  uVar36 = *puStack_3c;\n                  uVar40 = puStack_3c[1];\n                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;\n                  *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                  *(uint *)(puVar35 + -0x14) =\n                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                       uVar36 << 0x18;\n                  *(uint *)(puVar35 + -0x18) =\n                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                       uVar40 << 0x18;\n                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;\n                  FUN_000d1b10();\n                }\n                else {\n                  cStack_1b1 = bVar48 || bVar45;\n                  uVar40 = CONCAT31(uVar32,cStack_1b1);\n                  if (!bVar48 && !bVar45) {\n                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {\n                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;\n                        cVar12 = FUN_0004f780();\n                        uVar40 = extraout_EDX_01;\n                        if (cVar12 == '\0') goto LAB_0008493d;\n                      }\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&\n                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {\n                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);\n                        if (iVar20 == 0) {\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;\n                          FUN_000da200();\n                        }\n                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||\n                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;\n                        *(undefined4 *)(puVar35 + -4) = 0x86798;\n                        uVar36 = FUN_00051ac0();\n                        if ((char)uVar36 != '\0') goto LAB_000846f8;\n                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);\n                        if (pEVar29 == (Elf32_Ehdr *)0x0) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;\n                          FUN_000da200();\n                        }\n                        pEStack_84 = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -4) = 0x867c9;\n                        uVar51 = FUN_00054670();\n                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);\n                        piVar25 = extraout_ECX_00;\n                        if ((int)uVar51 != 0) {\n                          uStack_1b0 = *(uint *)((int)uVar51 + 8);\n                          uStack_1ac = 0;\n                          bVar27 = (byte)pEVar29->e_phoff;\n                          if ((bVar27 & 2) == 0) {\n                            *(uint *)(puVar35 + -4) = uVar36;\n                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;\n                            FUN_000da200();\n                          }\n                          puStack_194 = (undefined *)\n                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);\n                          if ((bVar27 & 1) == 0) {\n                    \n                            *(undefined4 *)(puVar35 + -4) = 0x8811f;\n                            FUN_00052f10();\n                          }\n                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;\n                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;\n                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {\n                            uVar40 = 0xffffffe0;\n                            iVar20 = 0x20;\n                          }\n                          else {\n                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);\n                            uVar40 = -iVar20;\n                          }\n                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;\n                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))\n                          ;\n                          uStack_128._4_4_ =\n                               (Elf32_Ehdr *)\n                               (pEVar29->e_ident_magic_str +\n                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));\n                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);\n                          goto LAB_000847e7;\n                        }\nLAB_00084930:\n                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;\n                        goto LAB_0008493d;\n                      }\nLAB_000846f8:\n                      piVar25 = *(int **)(iStack_48 + 0x50);\n                      piVar4 = *(int **)(iStack_48 + 0x4c);\n                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {\nLAB_0008471b:\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        auStack_7c._4_4_ =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        auStack_7c._0_4_ =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                          pEStack_80 = pEStack_178;\n                          pEStack_84 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = pEStack_17c;\n                          pEVar29 = pEStack_17c;\n                        }\n                        else {\n                          pEStack_84 = pEStack_16c;\n                          pEStack_80 = (Elf32_Ehdr *)0x0;\n                          pEStack_74 = (Elf32_Ehdr *)0x0;\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x84761;\n                        FUN_0004ddc0();\n                        iVar20 = iStack_14c;\n                        puVar2 = (uint *)(iStack_14c + 0x18);\n                        piVar25 = extraout_ECX;\n                        uVar40 = extraout_EDX_00;\n                        if (iStack_14c != 0) {\n                          *(undefined4 *)(puVar35 + -4) = 0x84779;\n                          lVar52 = FUN_00056c10();\n                          lVar9 = lVar52 + (ulonglong)*puVar2;\n                          bVar27 = *(byte *)(iVar20 + 0x1f);\n                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);\n                          uStack_128._4_4_ = pEVar29;\n                          puStack_194._0_1_ = bVar27;\n                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);\n                          if ((bVar27 & 0x40) != 0) {\n                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);\n                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);\n                            *(undefined4 *)(puVar35 + -4) = 0;\n                            *(undefined4 *)(puVar35 + -8) = 0x18;\n                            *(uint *)(puVar35 + -0xc) =\n                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8\n                                 | uVar36 << 0x18;\n                            *(uint *)(puVar35 + -0x10) =\n                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8\n                                 | uVar40 << 0x18;\n                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;\n                            uStack_128 = lVar9;\n                            puVar21 = (undefined1 *)FUN_002dcbb0();\n                            pcVar1 = pEStack_170->e_ident_magic_str;\n                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);\n                            if ((pcVar1 < puVar21) &&\n                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),\n                               puStack_3c[9] == 0x6d000000)) {\n                              uVar36 = puStack_3c[6];\n                              uVar40 = puStack_3c[1];\n                              uVar16 = puStack_3c[7];\n                              uStack_1d0 = *puStack_3c;\n                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |\n                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;\n                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |\n                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;\n                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |\n                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +\n                                       (uint)(0xfffffffb < uVar40);\n                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);\n                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |\n                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&\n                                  uStack_1d8 == uVar40 + 4) {\n                                lVar52 = lVar9 + 4;\n                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);\n                              }\n                            }\n                          }\n                          bVar27 = (byte)puStack_194;\n                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);\n                          uVar36 = (uint)(bVar27 >> 7);\n                          goto LAB_000847e7;\n                        }\n                        goto LAB_00084930;\n                      }\n                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;\n                      uVar40 = local_44->e_entry;\n                      pEVar29 = local_44;\n                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          uVar40) {\nLAB_0008491d:\n                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;\n                        goto LAB_0008471b;\n                      }\n                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar20 != 0) {\n                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);\n                        uVar40 = *(uint *)(iVar20 + 0x4c);\n                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&\n                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;\n                        goto LAB_0008491d;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;\n                      FUN_00053680();\nLAB_00087e7f:\n                      *(undefined4 *)(puVar35 + -4) = 0x87e84;\n                      FUN_00051e10();\n                      piVar25 = extraout_ECX_02;\nLAB_00087e84:\n                      *(int **)(puVar35 + -4) = piVar25;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;\n                      FUN_000da200();\n                    }\nLAB_0008493d:\n                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);\n                    cVar12 = '\0';\n                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))\n                    goto LAB_000847f9;\n                    goto LAB_00084960;\n                  }\n                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;\n                    pEVar44 = (Elf32_Ehdr *)\n                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *\n                              -0x33333333);\n                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87e08;\n                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();\nLAB_00087e08:\n                      pEVar44 = pEStack_154;\n                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;\n                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;\n                      FUN_000da200();\n                    }\n                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +\n                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {\n                      iVar20 = *(int *)(iStack_48 + 0x20);\n                    }\n                    else {\n                      iVar20 = *(int *)(iStack_48 + 0x1c);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f11;\n                        uVar36 = FUN_00051db0();\n                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                        goto LAB_00087f11;\n                      }\n                    }\n                    puVar30 = *(undefined **)pEStack_178;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;\n                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                    pcVar3 = *(code **)(puVar30 + 0xa8);\n                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;\n                    uVar36 = (*pcVar3)();\nLAB_000851d9:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;\n                      FUN_000da200();\n                    }\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));\n                    if (*(int *)(iStack_48 + 0x14) == 0) {\n                      *(undefined4 *)(puVar35 + -4) = 0x87c97;\n                      FUN_00051e10();\n                      goto LAB_00087c97;\n                    }\n                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);\n                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;\n                      FUN_000da200();\n                    }\n                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);\n                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);\n                    uStack_128._4_4_ =\n                         (Elf32_Ehdr *)\n                         ((int)uStack_128._4_4_ +\n                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);\n                    goto LAB_0008524b;\n                  }\n                  bVar27 = (byte)pEStack_16c->e_ehsize;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                  if ((bVar27 & 0xf) != 10) {\nLAB_000851b9:\n                    iVar20 = *(int *)(iStack_48 + 0x18);\n                    if (iVar20 != 0) {\nLAB_000851c7:\n                      uVar36 = pEStack_16c->e_entry;\n                      if (uVar36 != 0xffffffff) goto LAB_000851d9;\n                      *(undefined4 *)(puVar35 + -4) = 0x87cba;\n                      FUN_00052ee0();\n                    }\n                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;\n                    FUN_00051de0();\n                    goto LAB_00087cbf;\n                  }\n                  *(undefined4 *)(puVar35 + -0xc) = 0;\n                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;\n                  cVar12 = FUN_000a8040();\n                  if (cVar12 == '\0') goto LAB_000851b9;\n                  iVar20 = *(int *)(iStack_48 + 0x1c);\n                  if (iVar20 != 0) goto LAB_000851c7;\n                  *(undefined4 *)(puVar35 + -4) = 0x8664e;\n                  FUN_00051db0();\n                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);\nLAB_00086650:\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);\n                  cVar12 = '\x01';\n                  pEStack_1a4 = pEVar38;\n                  if (pEVar38 < (Elf32_Ehdr *)0x4) {\nLAB_0008666f:\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;\n                      FUN_00052750();\n                    }\n                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')\n                       ) {\n                      uStack_1b0 = 0;\n                      dVar39 = 1;\nLAB_000866d7:\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;\n                        cVar12 = (*pcVar3)();\n                        if (cVar12 == '\0') {\n                          *(dword *)(puVar35 + -4) = dVar39;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(dword *)(puVar35 + -0x18) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != dVar39) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000866ff:\n                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;\n                          FUN_000da200();\n                        }\n                        *(dword *)(puVar35 + -0xc) = dVar39;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      iVar20 = *(int *)(iStack_48 + 0x14);\n                      if (iVar20 == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87eed;\n                        FUN_00051e10();\nLAB_00087eed:\n                        *(byte **)(puVar35 + -4) = pbVar33;\n                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;\n                        FUN_000da200();\n                      }\n                      iVar15 = *(int *)(iVar20 + 0x20);\n                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;\n                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {\n                    \n                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;\n                        FUN_00052f10();\n                      }\n                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);\n                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));\n                      pEVar44 = (Elf32_Ehdr *)\n                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)\n                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,\n                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -\n                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));\n                      uVar53 = CONCAT44(pEVar44,pEVar17);\n                      if (uStack_1b0 != 3) {\n                        uStack_128._0_4_ = pEVar17;\n                        uStack_128._4_4_ = pEVar44;\n                        if (uStack_1b0 != 2) goto LAB_0008524b;\n                        goto LAB_000866a2;\n                      }\n                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {\n                        *(uint *)&pEStack_160[-1].e_shstrndx =\n                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;\n                      }\n                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;\n                      uVar10 = uVar53;\n                      goto LAB_000852e8;\n                    }\n                    if (cVar12 == '\0') {\n                      uStack_1b0 = 3;\n                      dVar39 = 3;\n                      goto LAB_000866d7;\n                    }\nLAB_000866a2:\n                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;\n                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                    uVar36 = puStack_3c[4];\n                    uVar40 = puStack_3c[5];\n                    *(uint *)(puVar35 + -4) =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    *(uint *)(puVar35 + -8) =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                    *(dword **)(puVar35 + -0x10) = pdStack_188;\n                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;\n                    lVar52 = FUN_000a9dc0();\n                    uVar10 = lVar52 - 0x7000;\nLAB_0008620b:\n                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;\n                      uStack_128 = uVar10;\n                      FUN_000da200();\n                    }\n                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {\n                      if ((uVar36 & 0xfc000000) == 0x28000000) {\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                        uStack_128._4_4_ = pEVar44;\n                      }\n                      else {\nLAB_0008614e:\n                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;\n                      }\n                    }\n                    else {\n                      uVar40 = (uint)(uVar10 + 0x8000);\n                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);\n                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&\n                         (pEVar44 = uStack_128._4_4_,\n                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &\n                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;\n                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;\n                    }\n                    uVar14 = (ushort)(uVar40 >> 0x10);\n                    uVar14 = uVar14 << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    uStack_128 = uVar10;\n                    goto LAB_000840c8;\n                  }\nLAB_00084855:\n                  pEVar29 = local_44;\n                  pEVar17 = pEStack_178;\n                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;\n                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);\n                  if ((undefined1 *)0x3 < puVar21) {\n                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;\n                        uVar18 = (*pcVar3)();\n                        pEVar44 = pEStack_178;\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                        pEVar38 = pEVar17;\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 2) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000848a0:\n                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 2;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;\n                        FUN_00051e10();\n                        uVar18 = extraout_ECX_03;\n                        goto LAB_00087f4d;\n                      }\nLAB_00086f7b:\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      *(undefined4 *)(puVar35 + -4) = 0x86f80;\n                      uVar51 = FUN_000530e0();\n                      pwVar24 = &pEStack_174[-1].e_phentsize;\n                      uVar53 = CONCAT44(pEVar44,pEVar38);\n                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -\n                                            (int)((ulonglong)uVar51 >> 0x20)) -\n                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),\n                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);\n                      goto LAB_00086f95;\n                    }\n                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);\n                    if (pEVar38 < (Elf32_Ehdr *)0x4) {\n                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;\n                        FUN_001e6ba0();\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x869ca;\n                      iVar20 = FUN_00054e10();\n                      pEVar17 = pEStack_178;\n                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                      if (iVar20 != 0) {\n                        if (iVar20 != 2) {\n                          *(int *)(puVar35 + -4) = iVar20;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;\n                          FUN_000da200();\n                        }\n                        if (pEVar38 < (Elf32_Ehdr *)0x2) {\n                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;\n                          lVar52 = FUN_000a9dc0();\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_0008620b;\n                        }\n                        goto LAB_000866af;\n                      }\n                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xac);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;\n                        uVar18 = (*pcVar3)();\n                        if ((char)uVar18 == '\0') {\n                          *(undefined4 *)(puVar35 + -4) = uVar18;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;\n                          FUN_000da200();\n                        }\n                        puVar30 = *(undefined **)pEStack_178;\n                        *(undefined4 *)(puVar35 + -0x10) = 0;\n                        *(undefined4 *)(puVar35 + -0x14) = 0;\n                        *(undefined4 *)(puVar35 + -0x18) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;\n                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;\n                        pcVar3 = *(code **)(puVar30 + 0xb0);\n                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();\n                      }\n                      else {\n                        pdVar23 = &pEStack_16c->e_phoff;\n                        while (*pdVar23 != 3) {\n                          pdVar23 = (dword *)pdVar23[2];\n                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;\n                        }\n                        if (pdVar23[1] == 0xffffffff) {\nLAB_000869f8:\n                          *(dword **)(puVar35 + -4) = pdVar23;\n                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;\n                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;\n                          FUN_000da200();\n                        }\n                        *(undefined4 *)(puVar35 + -0xc) = 3;\n                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;\n                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();\n                        pEVar17 = pEVar44;\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                      pEVar44 = pEVar17;\n                      if (*(int *)(iStack_48 + 0x14) == 0) {\n                        *(undefined4 *)(puVar35 + -4) = 0x874c0;\n                        FUN_00051e10();\n                        goto LAB_000874c0;\n                      }\n                      goto LAB_00086f7b;\n                    }\n                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {\n                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {\n                        uVar36 = *puStack_3c;\n                        uVar40 = puStack_3c[1];\n                        EStack_104.e_type = 1;\n                        EStack_104.e_machine = 0;\n                        EStack_104.e_version = (dword)local_44;\n                        EStack_104.e_shoff =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        EStack_104.e_phoff =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        EStack_104.e_entry = (dword)pEStack_170;\n                        *(undefined4 *)(puVar35 + -4) = 0x877ef;\n                        iVar20 = FUN_00052880();\n                        if (iVar20 != 2) goto LAB_000840c8;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        uVar10 = 0x1000;\n                        goto LAB_000860cc;\n                      }\n                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {\n                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;\n                          FUN_001e6ba0();\n                        }\n                        *(undefined4 *)(puVar35 + -4) = 0x876b0;\n                        iVar20 = FUN_00054e10();\n                        pEVar29 = pEVar44;\n                        if (iVar20 == 2) {\n                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=\n                              (undefined1  [52])0x7c) {\nLAB_00087a01:\n                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;\n                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;\n                            FUN_000da200();\n                          }\n                          *(undefined4 *)(puVar35 + -4) = 0x876e1;\n                          uVar36 = FUN_00051ae0();\n                          if (uVar36 == 0) goto LAB_00087a01;\n                          *(undefined **)pEStack_160 =\n                               (undefined *)\n                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18);\n                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                          uVar36 = puStack_3c[4];\n                          uVar40 = puStack_3c[5];\n                          *(uint *)(puVar35 + -4) =\n                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                               uVar36 << 0x18;\n                          *(uint *)(puVar35 + -8) =\n                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                               uVar40 << 0x18;\n                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                          *(dword **)(puVar35 + -0x10) = pdStack_188;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;\n                          lVar52 = FUN_000a9dc0();\n                          pEStack_168 = (Elf32_Ehdr *)0x46;\n                          uVar10 = lVar52 - 0x7000;\n                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                          goto LAB_000860cc;\n                        }\n                        goto LAB_000840c8;\n                      }\n                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;\n                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {\n                        pEStack_168 = (Elf32_Ehdr *)0xa;\n                        *(undefined **)pEStack_160 =\n                             (undefined *)\n                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);\n                      }\n                      uVar36 = puStack_3c[4];\n                      uVar40 = puStack_3c[5];\n                      *(uint *)(puVar35 + -4) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -8) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                      *(dword **)(puVar35 + -0x10) = pdStack_188;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;\n                      uVar53 = FUN_000a9dc0();\n                      *(undefined4 *)(puVar35 + -4) = 0x870ac;\n                      uStack_128 = uVar53;\n                      cVar12 = FUN_00051ac0();\n                      uVar10 = uStack_128;\n                      if (cVar12 != '\0') {\n                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {\n                          *(undefined1 **)(puVar35 + -8) = auStack_134;\n                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;\n                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;\n                          FUN_0007c1b0();\n                          uVar10 = uStack_128;\n                        }\n                        else {\n                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str\n                                                             [*(int *)&pEStack_178[8].e_type + -1]\n                                           >> 5);\n                          }\n                          else {\n                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);\n                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);\n                            bVar27 = bVar27 >> 5;\n                          }\n                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);\n                        }\n                      }\n                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);\n                      iVar20 = (int)uStack_128._4_4_;\n                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;\n                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;\n                      uStack_128 = uVar10;\n                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {\n                        uVar40 = 0x8000;\n                        pEStack_174 = &Elf32_Ehdr_00010000;\n                      }\n                      else {\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)\n                        {\n                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);\n                          goto LAB_00086f95;\n                        }\n                        pEStack_174 = (Elf32_Ehdr *)0x4000000;\n                        uVar40 = 0x2000000;\n                      }\n                      pdStack_188 = (dword *)0x0;\n                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;\n                      uVar11 = uVar10;\n                      if ((uint)((ulonglong)lVar52 >> 0x20) <\n                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {\nLAB_000879b4:\n                        pwVar24 = &pEStack_168[-1].e_phentsize;\n                        uVar53 = uVar10;\n                        uStack_128 = uVar11;\n                        goto LAB_00086f95;\n                      }\n                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;\n                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=\n                          local_44->e_entry) goto LAB_000879b4;\n                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);\n                      if (iVar15 != 0) {\n                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +\n                                          local_44->e_entry * 4);\n                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)\n                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),\n                                 iVar15 != 0)) {\n                          pEStack_174 = &EStack_104;\n                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;\n                          EStack_104.e_ident_pad[3] = 0;\n                          EStack_104.e_ident_abiversion = 0;\n                          EStack_104.e_ident_pad[0] = 0x80;\n                          EStack_104.e_ident_pad[1] = 0;\n                          EStack_104.e_ident_pad[2] = 0;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;\n                          EStack_104._0_8_ = uVar10;\n                          piVar25 = (int *)FUN_0004dfd0();\n                          uVar11 = uStack_128;\n                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {\n                            if (*(char *)(iVar5 + 0x10) == '\0') {\n                              uVar40 = *(uint *)(iVar5 + 0x14);\n                              uVar36 = 0;\n                            }\n                            else {\n                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);\n                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {\n                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);\n                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;\n                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;\n                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;\n                    \n                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;\n                                FUN_000da200();\n                              }\n                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);\n                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);\n                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -\n                                                 *(int *)(iVar5 + 8)) -\n                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));\n                              uVar10 = CONCAT44(uVar36,uVar40);\n                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;\n                            }\n                            *(undefined4 *)(puVar35 + -4) = 0x87b23;\n                            lVar52 = FUN_00056c10();\n                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);\n                            pwVar24 = &pEStack_168[-1].e_phentsize;\n                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);\n                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +\n                                         (ulonglong)*(uint *)(iVar15 + 0x74);\n                            goto LAB_00086f95;\n                          }\n                        }\n                        goto LAB_000879b4;\n                      }\n                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;\n                      FUN_00053680();\n                      uVar10 = uStack_128;\nLAB_00087ff7:\n                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;\n                      uVar40 = uVar36 & 0xfc000000;\n                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&\n                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;\n                      goto LAB_0008614e;\n                    }\nLAB_000874c0:\n                    pEVar29 = pEStack_170;\n                    uVar36 = *puStack_3c;\n                    uVar40 = puStack_3c[1];\n                    EStack_104.e_type = 1;\n                    EStack_104.e_machine = 0;\n                    EStack_104.e_version = (dword)local_44;\n                    EStack_104.e_shoff =\n                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                         uVar36 << 0x18;\n                    EStack_104.e_phoff =\n                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                         uVar40 << 0x18;\n                    EStack_104.e_entry = (dword)pEStack_170;\n                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {\n                      cVar12 = '\x01';\n                    }\n                    else {\n                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;\n                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;\n                      cVar12 = FUN_001e6ba0();\n                    }\n                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                    iVar20 = *(int *)(*(int *)pbVar33 + 8);\n                    if (iVar20 == 0) {\n                    \n                      *(undefined4 *)(puVar35 + -4) = 0x88162;\n                      FUN_00052750();\n                    }\n                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&\n                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),\n                       *(char *)(iVar20 + 0x3ef5) != '\0')) {\n                      if (cVar12 != '\0') {\n                        *(undefined **)pEStack_160 = (undefined *)0x6338;\n                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);\n                        uVar36 = puStack_3c[4];\n                        uVar40 = puStack_3c[5];\n                        *(uint *)(puVar35 + -4) =\n                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                             uVar36 << 0x18;\n                        *(uint *)(puVar35 + -8) =\n                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                             uVar40 << 0x18;\n                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;\n                        *(dword **)(puVar35 + -0x10) = pdStack_188;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;\n                        lVar52 = FUN_000a9dc0();\n                        EStack_104.e_type = 2;\n                        EStack_104.e_machine = 0;\n                        uVar10 = lVar52 - 0x7000;\n                        pEStack_168 = (Elf32_Ehdr *)0x46;\n                        goto LAB_000860cc;\n                      }\n                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;\n                      EStack_104.e_type = 2;\n                      EStack_104.e_machine = 0;\n                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                    }\n                    goto LAB_000840c8;\n                  }\n                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;\n                  iVar20 = FUN_00052880();\n                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);\n                  if (iVar20 != 0) {\n                    uVar18 = extraout_ECX_01;\n                    if (iVar20 != 2) {\nLAB_00087f4d:\n                      *(undefined4 *)(puVar35 + -4) = uVar18;\n                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;\n                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;\n                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;\n                    \n                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;\n                      FUN_000da200();\n                    }\n                    if (puVar21 < (undefined1 *)0x2) {\n                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;\n                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;\n                      uVar10 = 0x1000;\n                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                      goto LAB_0008620b;\n                    }\n                    goto LAB_000866af;\n                  }\n                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;\n                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);\n                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;\n                  *(undefined4 *)(puVar35 + -4) = 0x87159;\n                  FUN_00051e10();\nLAB_00087160:\n                  *(undefined4 *)(puVar35 + -4) = 0x8716c;\n                  cVar12 = FUN_0004d340();\n                  pEVar17 = pEStack_16c;\n                  if (cVar12 != '\0') {\n                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);\n                    uVar10 = uStack_128;\n                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20\n                       ) {\nLAB_00086339:\n                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;\n                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {\n                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;\n                      }\n                      *(uint *)&pEStack_160[-1].e_shstrndx =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      goto LAB_00085718;\n                    }\nLAB_00085788:\n                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {\n                    \n                    \n                      pEVar17 = (Elf32_Ehdr *)\n                                (*(code *)(pEStack_154->e_ident_magic_str +\n                                          *(int *)(pEStack_154->e_ident_magic_str +\n                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)\n                                          + -1))();\n                      return pEVar17;\n                    }\n                    goto LAB_000853db;\n                  }\n                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;\n                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;\n                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];\n                  uVar6 = uVar14 >> 8;\n                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);\n                  uVar14 = (ushort)uStack_128;\n                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||\n                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==\n                      0xf4000001)) {\n                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    pEVar29 = uStack_128._4_4_;\n                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;\n                  }\n                  else {\n                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;\n                    pEStack_160->e_ident_magic_num = (char)uVar14;\n                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);\n                    if ((uStack_128 & 3) == 0) {\n                      pEVar29 = (Elf32_Ehdr *)0x0;\n                    }\n                    else {\nLAB_00085810:\n                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {\n                        bVar27 = (byte)pEStack_16c->e_phentsize;\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        if ((bVar27 & 7) == 0) {\n                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&\n                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {\nLAB_00086188:\n                            *(undefined4 *)(puVar35 + -4) = 0x86193;\n                            cVar12 = FUN_00051ac0();\n                            pEVar29 = pEVar17;\n                            if (cVar12 != '\0') goto LAB_000840c8;\n                          }\n                        }\n                        else if ((bVar27 & 7) == 4) goto LAB_00086188;\n                      }\n                      pEVar29 = pEStack_154;\n                      *(undefined1 **)(puVar35 + -0x10) =\n                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);\n                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;\n                      uVar18 = gettext();\n                      uVar36 = *puStack_3c;\n                      uVar40 = puStack_3c[1];\n                      *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                      *(uint *)(puVar35 + -0x14) =\n                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |\n                           uVar36 << 0x18;\n                      *(uint *)(puVar35 + -0x18) =\n                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |\n                           uVar40 << 0x18;\n                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;\n                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;\n                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;\n                      FUN_000d1b10();\n                      if ((byte)puStack_194 != '\0') {\n                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;\n                        uVar18 = gettext();\n                        *(undefined4 *)(puVar35 + -0x10) = uVar18;\n                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;\n                        FUN_000d1390();\n                      }\n                    }\n                  }\n                }\nLAB_000840c8:\n                pEVar17 = pEStack_154;\n                if (pEStack_158 != (Elf32_Ehdr *)0x0) {\n                  bVar27 = (byte)pEStack_158->e_phentsize;\n                  uVar40 = (uint)bVar27;\n                  uVar36 = uVar40 & 7;\n                  if ((bVar27 & 7) == 0) {\n                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&\n                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {\nLAB_00084399:\n                      bVar27 = (byte)uVar40;\n                      bVar28 = (byte)pEStack_158->e_ehsize;\n                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);\n                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {\nLAB_00084540:\n                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);\n                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);\n                        uVar16 = bVar27 & 3;\n                      }\n                      else {\n                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;\n                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {\n                          *(uint *)(puVar35 + -4) = uVar36;\n                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;\n                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;\n                          *(undefined1 **)(puVar35 + -0x10) =\n                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);\n                    \n                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;\n                          FUN_000da200();\n                        }\n                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')\n                        goto LAB_00084540;\n                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);\n                        if ((char)bVar28 < '\0') {\n                          if ((char)uVar36 != '\0') goto LAB_000844bb;\n                          pdVar23 = &pEStack_154[-0x10eb9].e_version;\nLAB_00084410:\n                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);\n                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;\n                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;\n                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;\n                          iVar20 = (*pcVar3)();\n                          pbVar33 = pbStack_1cc;\n                          if (iVar20 != 0) goto LAB_00084261;\nLAB_00084440:\n         

/* WARNING: Function: __x86.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: bool make_toc_relative(Powerpc_relobj<64,_true> * this,
   Target_powerpc<64,_true> * target, Address * value) */

bool __thiscall
anon_unknown.dwarf_2af53c::Powerpc_relobj<64,var_17>::make_toc_relative
          (Powerpc_relobj<64,var_17> *this,var_2<64,var_17> *target,Address *value)

{
  type_7 var_22;
  type_1 puVar2;
  int var_16;
  type_2 *var_13;
  type_2 *var_14;
  int var_15;
  var_1<64,var_17> *in_EAX;
  type_3 var_8;
  type_3 var_12;
  type_4 *var_19;
  type_3 *in_ECX;
  type_3 var_23;
  int var_20;
  type_3 var_3;
  type_5 var_11;
  var_2<64,var_17> *in_stack_ffffffb4;
  type_6 vlen;
  
  var_3 = in_EAX[1].super_Sized_relobj<64,var_17>.super_Relobj.super_Object.name_.field_2.
           _M_allocated_capacity;
  if (var_3 != 0) {
    puVar2 = (in_EAX->super_Sized_relobj<64,var_17>).section_offsets_.
             super__Vector_base<var_5,_std::var_4<var_5>var_6>.
             _M_impl._M_start;
    var_8 = *in_ECX + 0x8000;
    if ((type_3)((int)(in_EAX->super_Sized_relobj<64,var_17>).section_offsets_.
                    super__Vector_base<var_5,_std::var_4<var_5>var_6>
                    ._M_impl._M_finish - (int)puVar2 >> 3) <= var_3) {
                    /* WARNING: Subroutine does not return */
      gold::var_7("../../gold/object.h",0x7f7,"get_output_section_offset");
    }
    var_12 = var_8 - (type_3)puVar2[var_3];
    var_8 = ((in_ECX[1] + (type_3)(0xffff7fff < *in_ECX)) - *(int *)((int)puVar2 + var_3 * 8 + 4)) -
            (type_3)(var_8 < (type_3)puVar2[var_3]);
    var_11 = elfcpp::Elf_file<64,var_17,_gold::var_9>::var_10(&in_EAX->elf_file_,var_3);
    var_3 = (type_3)(var_11 >> 0x20);
    if (var_8 < var_3 || var_8 - var_3 < (type_3)(var_12 < (type_3)var_11)) {
      var_16 = *(int *)((int)&in_EAX[1].super_Sized_relobj<64,var_17>.super_Relobj.super_Object.name_.
                             field_2 + 0xc);
      var_13 = *(type_2 **)
                ((int)&in_EAX[1].super_Sized_relobj<64,var_17>.super_Relobj.super_Object.offset_ + 4)
      ;
      var_14 = in_EAX[1].super_Sized_relobj<64,var_17>.super_Relobj.super_Object.input_file_;
      var_15 = (int)in_EAX[1].super_Sized_relobj<64,var_17>.super_Relobj.super_Object.offset_;
      if (((var_13 == var_14) && (var_15 == var_16)) ||
         ((var_3 = var_12 >> 3 | var_8 * 0x20000000,
          var_8 >> 3 < (type_3)(var_3 < (type_3)((int)var_13 + ((var_15 - var_16) * 8 - (int)var_14))) &&
          ((*(type_3 *)(var_16 + (var_3 >> 5) * 4) & 1 << ((type_7)(var_12 >> 3) & 0x1f)) == 0)))) {
        var_19 = gold::var_1<64,var_17>::var_18
                           (in_EAX,in_EAX[1].super_Sized_relobj<64,var_17>.super_Relobj.super_Object.
                                   name_.field_2._M_allocated_capacity,&vlen);
        var_3 = *(type_3 *)(var_19 + var_12);
        var_8 = *(type_3 *)((int)(var_19 + var_12) + 4);
        var_8 = var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 | var_8 << 0x18;
        if (*(int *)(var_20 + 0x14) == 0) {
                    /* WARNING: Subroutine does not return */
          var_2<64,var_17>::var_21(in_stack_ffffffb4);
        }
        var_16 = *(int *)(*(int *)(var_20 + 0x14) + 0x20);
        var_22 = *(type_7 *)(var_16 + 0x1c);
        if ((var_22 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
          gold::var_7("../../gold/output.h",0xc5,"address");
        }
        var_12 = var_8 - *(type_3 *)(var_16 + 4);
        var_23 = var_12 - 0x8000;
        var_3 = (((var_3 >> 0x18 | (var_3 & 0xff0000) >> 8 | (var_3 & 0xff00) << 8 |
                   var_3 << 0x18) - *(int *)(var_16 + 8)) - (type_3)(var_8 < *(type_3 *)(var_16 + 4))) +
                 -1 + (type_3)(0x7fff < var_12);
        if (var_3 + (0x7fff7fff < var_23) == 0) {
          *in_ECX = var_23;
          in_ECX[1] = var_3;
          return (bool)(var_22 & 1);
        }
      }
    }
  }
  return false;
}


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

/* WARNING: Function: __i686.get_pc_thunk.si replaced with injection: get_pc_thunk_si */
/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Removing unreachable block (ram,0x000872f8) */
/* WARNING: Removing unreachable block (ram,0x0008730c) */
/* WARNING: Removing unreachable block (ram,0x0008580a) */
/* WARNING: Removing unreachable block (ram,0x00087318) */
/* WARNING: Removing unreachable block (ram,0x0008734c) */
/* WARNING: Removing unreachable block (ram,0x00086a80) */
/* WARNING: Removing unreachable block (ram,0x00086ab4) */
/* WARNING: Removing unreachable block (ram,0x00086abf) */
/* WARNING: Removing unreachable block (ram,0x000871d8) */
/* WARNING: Removing unreachable block (ram,0x000871ec) */
/* WARNING: Removing unreachable block (ram,0x00087200) */
/* WARNING: Removing unreachable block (ram,0x0008720a) */
/* WARNING: Removing unreachable block (ram,0x00087210) */
/* WARNING: Removing unreachable block (ram,0x00087224) */
/* WARNING: Removing unreachable block (ram,0x00087450) */
/* WARNING: Removing unreachable block (ram,0x00087463) */
/* WARNING: Removing unreachable block (ram,0x00087479) */
/* WARNING: Type propagation algorithm not settling */

Elf32_Ehdr * __regparm3 MASKED(dword param_1,int param_2,uint *param_3)

{
  char *pcVar1;
  uint *puVar2;
  code *pcVar3;
  int *piVar4;
  int iVar5;
  ushort uVar6;
  bool bVar7;
  bool bVar8;
  longlong lVar9;
  ulonglong uVar10;
  ulonglong uVar11;
  undefined1 uVar13;
  ushort uVar14;
  char cVar12;
  int iVar15;
  uint uVar16;
  Elf32_Ehdr *pEVar17;
  undefined4 uVar18;
  undefined4 uVar19;
  int iVar20;
  undefined1 *puVar21;
  undefined4 uVar22;
  dword *pdVar23;
  word *pwVar24;
  int *piVar25;
  uint uVar26;
  int *extraout_ECX;
  int *extraout_ECX_00;
  undefined4 extraout_ECX_01;
  int *extraout_ECX_02;
  undefined4 extraout_ECX_03;
  byte bVar27;
  byte bVar28;
  Elf32_Ehdr *pEVar29;
  undefined4 extraout_EDX;
  undefined3 uVar32;
  uint extraout_EDX_00;
  uint extraout_EDX_01;
  undefined4 extraout_EDX_02;
  undefined *puVar30;
  uint uVar31;
  undefined4 extraout_EDX_03;
  byte *pbVar33;
  undefined1 *puVar34;
  undefined1 *puVar35;
  uint uVar36;
  byte *pbVar37;
  Elf32_Ehdr *pEVar38;
  dword dVar39;
  uint uVar40;
  byte *pbVar41;
  Elf32_Ehdr *pEVar42;
  Elf32_Ehdr *pEVar43;
  Elf32_Ehdr *pEVar44;
  bool bVar45;
  bool bVar46;
  bool bVar47;
  bool bVar48;
  bool bVar49;
  byte bVar50;
  undefined8 uVar51;
  longlong lVar52;
  ulonglong uVar53;
  undefined1 auStack_1e8 [8];
  undefined4 uStack_1e0;
  Elf32_Ehdr *pEStack_1dc;
  uint uStack_1d8;
  int iStack_1d4;
  uint uStack_1d0;
  byte *pbStack_1cc;
  Elf32_Ehdr *pEStack_1c8;
  Elf32_Ehdr *pEStack_1c4;
  uint uStack_1c0;
  int iStack_1bc;
  word *pwStack_1b8;
  char cStack_1b2;
  char cStack_1b1;
  uint uStack_1b0;
  undefined4 uStack_1ac;
  Elf32_Ehdr *pEStack_1a8;
  Elf32_Ehdr *pEStack_1a4;
  uint uStack_1a0;
  int iStack_19c;
  dword *pdStack_198;
  undefined *puStack_194;
  uint uStack_190;
  int *piStack_18c;
  dword *pdStack_188;
  dword *pdStack_184;
  int iStack_180;
  Elf32_Ehdr *pEStack_17c;
  Elf32_Ehdr *pEStack_178;
  Elf32_Ehdr *pEStack_174;
  Elf32_Ehdr *pEStack_170;
  Elf32_Ehdr *pEStack_16c;
  Elf32_Ehdr *pEStack_168;
  int iStack_164;
  Elf32_Ehdr *pEStack_160;
  Elf32_Ehdr *pEStack_158;
  Elf32_Ehdr *pEStack_154;
  int iStack_14c;
  undefined1 uStack_13d;
  int iStack_13c;
  undefined *puStack_138;
  undefined1 auStack_134 [4];
  undefined1 auStack_130 [8];
  undefined8 uStack_128;
  undefined8 uStack_120;
  Elf32_Ehdr EStack_104;
  undefined *puStack_d0;
  dword adStack_cc [5];
  undefined1 *apuStack_b8 [2];
  undefined1 auStack_b0 [16];
  char acStack_a0 [28];
  Elf32_Ehdr *pEStack_84;
  Elf32_Ehdr *pEStack_80;
  undefined1 auStack_7c [8];
  Elf32_Ehdr *pEStack_74;
  dword dStack_60;
  undefined **ppuStack_5c;
  uint *puStack_58;
  undefined **ppuStack_54;
  Elf32_Ehdr *pEStack_50;
  int iStack_48;
  Elf32_Ehdr *local_44;
  uint local_40;
  uint *puStack_3c;
  undefined **local_38;
  int local_34;
  int local_30;
  int iStack_2c;
  uint uStack_28;
  int iStack_24;
  uint local_20;
  int *piStack_1c;
  
  bVar50 = 0;
  local_38 = &__DT_PLTGOT;
  puStack_58 = *(uint **)(param_1 + 0x148);
  if (puStack_58 != (uint *)0x0) {
    iVar20 = *(int *)(param_1 + 0x84);
    pEStack_50 = (Elf32_Ehdr *)(*param_3 + 0x8000);
    local_30 = param_2;
    if ((uint)(*(int *)(param_1 + 0x88) - iVar20 >> 3) <= puStack_58) {
      ppuStack_54 = (undefined **)0x2f6020;
      ppuStack_5c = (undefined **)0x2f6e48;
      puStack_58 = (uint *)0x7f7;
                    /* WARNING: Subroutine does not return */
      dStack_60 = 0x83bdc;
      FUN_000da200();
    }
    puVar2 = (uint *)(iVar20 + (int)puStack_58 * 8);
    local_44 = (Elf32_Ehdr *)((int)pEStack_50 - *puVar2);
    local_40 = ((param_3[1] + (uint)(0xffff7fff < *param_3)) -
               *(int *)(iVar20 + 4 + (int)puStack_58 * 8)) - (uint)(pEStack_50 < *puVar2);
    ppuStack_5c = (undefined **)(param_1 + 0x90);
    dStack_60 = 0x83ace;
    uVar51 = FUN_000b20e0();
    uVar36 = (uint)((ulonglong)uVar51 >> 0x20);
    if (local_40 < uVar36 || local_40 - uVar36 < (uint)(local_44 < (Elf32_Ehdr *)uVar51)) {
      iVar20 = *(int *)(param_1 + 0x154);
      if ((*(int *)(param_1 + 0x160) != *(int *)(param_1 + 0x158)) ||
         (uVar36 = local_40, *(int *)(param_1 + 0x15c) != iVar20)) {
        uVar40 = (uint)local_44 >> 3 | local_40 << 0x1d;
        uVar36 = local_40 >> 3;
        if ((uVar40 < (uint)((*(int *)(param_1 + 0x160) - *(int *)(param_1 + 0x158)) +
                            (*(int *)(param_1 + 0x15c) - iVar20) * 8)) <= uVar36) {
          return (Elf32_Ehdr *)0x0;
        }
        if ((*(uint *)(iVar20 + (uVar40 >> 5) * 4) & 1 << ((byte)((uint)local_44 >> 3) & 0x1f)) != 0
           ) {
          return (Elf32_Ehdr *)0x0;
        }
      }
      ppuStack_54 = (undefined **)&local_20;
      puStack_58 = *(uint **)(param_1 + 0x148);
      dStack_60 = 0x83b5e;
      ppuStack_5c = (undefined **)param_1;
      local_34 = iVar20;
      iVar15 = FUN_001b2c60();
      uVar40 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1);
      uVar16 = *(uint *)(local_44->e_ident_magic_str + iVar15 + -1 + 4);
      uVar16 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 | uVar16 << 0x18;
      uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 | uVar40 << 0x18;
      if (*(int *)(local_30 + 0x14) == 0) {
        pEStack_50 = (Elf32_Ehdr *)0x83bfe;
        FUN_00051e10();
        pEStack_154 = (Elf32_Ehdr *)&__DT_PLTGOT;
        uStack_1c0 = uStack_28;
        iStack_1bc = iStack_24;
        cStack_1b2 = (char)local_30;
        ppuStack_5c = (undefined **)uVar40;
        puStack_58 = param_3;
        ppuStack_54 = (undefined **)iVar20;
        pEStack_50 = (Elf32_Ehdr *)uVar36;
        if (local_40 != 4) {
                    /* WARNING: Subroutine does not return */
          FUN_000da200("../../gold/powerpc.cc",0x27e1,"relocate_section",iVar20);
        }
        EStack_104.e_type = 0;
        EStack_104.e_machine = 0;
        EStack_104.e_version = 0;
        piStack_18c = *(int **)&local_44->e_ident_abiversion;
        EStack_104.e_entry = 0;
        EStack_104.e_phoff = 0;
        EStack_104.e_shoff = 0;
        pcVar3 = *(code **)(*piStack_18c + 0x8c);
        if (pcVar3 == FUN_000a42b0) {
          pEVar17 = (Elf32_Ehdr *)(**(code **)(*piStack_18c + 0xbc))(piStack_18c);
        }
        else {
          pEVar17 = (Elf32_Ehdr *)(*pcVar3)(piStack_18c);
        }
        puVar35 = auStack_1e8;
        pEStack_1c4 = pEVar17;
        puVar2 = puStack_3c;
        if (local_38 == (undefined **)0x0) {
LAB_000865b0:
          puStack_3c = puVar2;
          if ((EStack_104._16_4_ != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))
          {
            *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;
            *(undefined4 *)(puVar35 + -0x14) = 0x865db;
            uVar18 = gettext();
            *(undefined4 *)(puVar35 + -0x10) = uVar18;
            *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;
            *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;
            *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;
            *(dword *)(puVar35 + -0x20) = EStack_104.e_version;
            *(undefined4 *)(puVar35 + -0x24) = 0x865fb;
            pEVar17 = (Elf32_Ehdr *)FUN_000d1b10();
          }
          return pEVar17;
        }
        uVar36 = puStack_3c[1];
        uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 | uVar36 << 0x18
        ;
        puVar35 = auStack_1e8;
        if (*puStack_3c == 0) {
          iStack_180 = 0;
          pEStack_170 = (Elf32_Ehdr *)0x0;
          pbStack_1cc = &pEStack_154[0x18].e_ident_abiversion;
          puVar35 = auStack_1e8;
          pEStack_1c8 = (Elf32_Ehdr *)pbStack_1cc;
          do {
            uStack_190 = uVar36;
            if (cStack_1b2 == '\0') {
LAB_00083ea0:
              uVar36 = puStack_3c[2];
              puStack_d0 = (undefined *)0x0;
              EStack_104.e_flags = 0;
              EStack_104.e_ehsize = 0xffff;
              EStack_104.e_phentsize = 0xffff;
              pEStack_160 = (Elf32_Ehdr *)
                            (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                            uVar36 << 0x18);
              EStack_104.e_phnum = 0;
              EStack_104.e_shentsize = 0x8000;
              EStack_104.e_shnum = 0;
              EStack_104.e_shstrndx = 0;
              if (pEStack_160 < pEStack_1c4) {
                if ((piStack_1c != (int *)0x0) &&
                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),
                   pEStack_158 != (Elf32_Ehdr *)0x0)) goto LAB_00083d27;
                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x38];
                if ((Elf32_Ehdr *)(((int)pEStack_158 - piStack_18c[0x37] >> 2) * -0x33333333) <=
                    pEStack_160) {
                  *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x5814;
                  *(undefined4 *)(puVar35 + -0xc) = 0x8c1;
                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x87ba4;
                  FUN_000da200();
                }
                pdStack_188 = (dword *)(piStack_18c[0x37] + (int)pEStack_160 * 0x14);
                pEStack_168 = (Elf32_Ehdr *)(pdStack_188[2] & 0x7ffffff);
                if (((*(byte *)((int)pdStack_188 + 0xb) & 8) == 0) ||
                   (pEStack_168 == (Elf32_Ehdr *)0x0)) {
LAB_00084caa:
                  pEStack_158 = (Elf32_Ehdr *)0x0;
                  goto LAB_00083dc2;
                }
                pEStack_158 = (Elf32_Ehdr *)piStack_18c[0xf];
                pEVar17 = (Elf32_Ehdr *)((int)pEStack_158 - piStack_18c[0xe] >> 2);
                if (pEVar17 <= pEStack_168) goto LAB_00087e08;
                pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0xe] + (int)pEStack_168 * 4);
                if (pEStack_158 != (Elf32_Ehdr *)0x0) goto LAB_00084caa;
                *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_168;
                *(int **)(puVar35 + -0xc) = piStack_18c;
                *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;
                *(undefined4 *)(puVar35 + -0x14) = 0x84d19;
                cVar12 = FUN_001e6ec0();
                if (cVar12 != '\0') goto LAB_00083dc2;
LAB_00084d30:
                pdStack_184 = &EStack_104.e_flags;
                adStack_cc[0] = 0;
                adStack_cc[1] = 0xffffffff;
                adStack_cc[2] = 0x80000000;
                adStack_cc[3] = 0;
                pcVar3 = *(code **)(*piStack_18c + 0x40);
                adStack_cc[4] = 0;
                if (pcVar3 == (code *)&pEStack_154[-0x10abe].e_ident_abiversion) {
                  *(dword *)(puVar35 + -8) = local_44->e_entry;
                  *(int **)(puVar35 + -0xc) = piStack_18c + 0x24;
                  pdStack_198 = adStack_cc;
                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;
                  *(undefined4 *)(puVar35 + -0x14) = 0x84d9a;
                  FUN_000b0fc0();
                }
                else {
                  *(dword *)(puVar35 + -8) = local_44->e_entry;
                  pdStack_198 = adStack_cc;
                  *(int **)(puVar35 + -0xc) = piStack_18c;
                  *(Elf32_Ehdr ***)(puVar35 + -0x10) = &pEStack_84;
                  *(undefined4 *)(puVar35 + -0x14) = 0x850b9;
                  (*pcVar3)();
                }
                puVar34 = puVar35 + -4;
                bVar45 = false;
                bVar48 = iStack_180 == 0;
                if (bVar48) {
                  iVar20 = 6;
                  pEVar17 = pEStack_84;
                  pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phoff + 2);
                  do {
                    if (iVar20 == 0) break;
                    iVar20 = iVar20 + -1;
                    bVar45 = pEVar17->e_ident_magic_num < *pbVar33;
                    bVar48 = pEVar17->e_ident_magic_num == *pbVar33;
                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                  } while (bVar48);
                  bVar46 = false;
                  bVar45 = (!bVar45 && !bVar48) == bVar45;
                  if (!bVar45) {
                    iVar20 = 7;
                    pEVar17 = pEStack_84;
                    pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_flags + 1);
                    do {
                      if (iVar20 == 0) break;
                      iVar20 = iVar20 + -1;
                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                    } while (bVar45);
                    bVar48 = false;
                    bVar45 = (!bVar46 && !bVar45) == bVar46;
                    if (!bVar45) {
                      iVar20 = 0x11;
                      pEVar17 = pEStack_84;
                      pbVar33 = (byte *)((int)&pEStack_154[-0x57ad].e_phnum + 1);
                      do {
                        if (iVar20 == 0) break;
                        iVar20 = iVar20 + -1;
                        bVar48 = pEVar17->e_ident_magic_num < *pbVar33;
                        bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                        pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                        pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                      } while (bVar45);
                      bVar46 = false;
                      bVar45 = (!bVar48 && !bVar45) == bVar48;
                      if (!bVar45) {
                        iVar20 = 5;
                        pEVar17 = pEStack_84;
                        pbVar33 = pEStack_154[-0x57ac].e_ident_pad + 2;
                        do {
                          if (iVar20 == 0) break;
                          iVar20 = iVar20 + -1;
                          bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                          bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                          pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                          pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                        } while (bVar45);
                        bVar48 = false;
                        bVar45 = (!bVar46 && !bVar45) == bVar46;
                        if (!bVar45) {
                          iVar20 = 5;
                          pEVar17 = pEStack_84;
                          pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_type + 1);
                          do {
                            if (iVar20 == 0) break;
                            iVar20 = iVar20 + -1;
                            bVar48 = pEVar17->e_ident_magic_num < *pbVar33;
                            bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                            pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                            pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                          } while (bVar45);
                          bVar46 = false;
                          bVar45 = (!bVar48 && !bVar45) == bVar48;
                          if (!bVar45) {
                            iVar20 = 4;
                            pEVar17 = pEStack_84;
                            pbVar33 = (byte *)((int)&pEStack_154[-0x57ac].e_version + 3);
                            do {
                              if (iVar20 == 0) break;
                              iVar20 = iVar20 + -1;
                              bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                              bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                              pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                              pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                            } while (bVar45);
                            bVar48 = false;
                            bVar45 = (!bVar46 && !bVar45) == bVar46;
                            if (!bVar45) {
                              iVar20 = 10;
                              pEVar17 = pEStack_84;
                              pwVar24 = &pEStack_154[-0x5774].e_shnum;
                              do {
                                if (iVar20 == 0) break;
                                iVar20 = iVar20 + -1;
                                bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;
                                bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;
                                pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);
                              } while (bVar45);
                              bVar46 = false;
                              bVar45 = (!bVar48 && !bVar45) == bVar48;
                              if (!bVar45) {
                                iVar20 = 0x12;
                                pEVar17 = pEStack_84;
                                pdVar23 = &pEStack_154[-0x57ac].e_phoff;
                                do {
                                  if (iVar20 == 0) break;
                                  iVar20 = iVar20 + -1;
                                  bVar46 = pEVar17->e_ident_magic_num < (byte)*pdVar23;
                                  bVar45 = pEVar17->e_ident_magic_num == (byte)*pdVar23;
                                  pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                  pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);
                                } while (bVar45);
                                bVar48 = false;
                                bVar45 = (!bVar46 && !bVar45) == bVar46;
                                if (!bVar45) {
                                  iVar20 = 5;
                                  pEVar17 = pEStack_84;
                                  pbVar33 = pEStack_154[-0x57b2].e_ident_pad + 1;
                                  do {
                                    if (iVar20 == 0) break;
                                    iVar20 = iVar20 + -1;
                                    bVar48 = pEVar17->e_ident_magic_num < *pbVar33;
                                    bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                                    pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                    pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                  } while (bVar45);
                                  bVar46 = false;
                                  bVar45 = (!bVar48 && !bVar45) == bVar48;
                                  if (!bVar45) {
                                    iVar20 = 5;
                                    pEVar17 = pEStack_84;
                                    pbVar33 = pEStack_154[-0x57a5].e_ident_pad + 3;
                                    do {
                                      if (iVar20 == 0) break;
                                      iVar20 = iVar20 + -1;
                                      bVar46 = pEVar17->e_ident_magic_num < *pbVar33;
                                      bVar45 = pEVar17->e_ident_magic_num == *pbVar33;
                                      pEVar17 = (Elf32_Ehdr *)((int)pEVar17 + (uint)bVar50 * -2 + 1)
                                      ;
                                      pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                    } while (bVar45);
                                    bVar48 = false;
                                    bVar45 = (!bVar46 && !bVar45) == bVar46;
                                    if (!bVar45) {
                                      iVar20 = 6;
                                      pEVar17 = pEStack_84;
                                      pwVar24 = &pEStack_154[-0x57ac].e_shentsize;
                                      do {
                                        if (iVar20 == 0) break;
                                        iVar20 = iVar20 + -1;
                                        bVar48 = pEVar17->e_ident_magic_num < (byte)*pwVar24;
                                        bVar45 = pEVar17->e_ident_magic_num == (byte)*pwVar24;
                                        pEVar17 = (Elf32_Ehdr *)
                                                  ((int)pEVar17 + (uint)bVar50 * -2 + 1);
                                        pwVar24 = (word *)((int)pwVar24 + (uint)bVar50 * -2 + 1);
                                      } while (bVar45);
                                      if ((!bVar48 && !bVar45) != bVar48) goto LAB_00084fa5;
                                    }
                                  }
                                }
                              }
                              goto LAB_0008507a;
                            }
                          }
                        }
                      }
                    }
                  }
LAB_00084dd1:
                  *(char **)(puVar35 + -8) = acStack_a0;
                  *(Elf32_Ehdr ***)(puVar35 + -0xc) = &pEStack_84;
                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_168;
                  *(int **)(puVar35 + -0x14) = piStack_18c;
                  *(undefined4 *)(puVar35 + -0x18) = 0x84ded;
                  uVar51 = FUN_00129620();
                  adStack_cc[3] = 0;
                  adStack_cc[4] = 0;
                  if (acStack_a0[0] != '\0') {
                    adStack_cc[3] = (uint)uVar51 + pdStack_188[3];
                    adStack_cc[4] =
                         (int)((ulonglong)uVar51 >> 0x20) + pdStack_188[4] +
                         (uint)CARRY4((uint)uVar51,pdStack_188[3]);
                  }
                  iStack_180 = 1;
                  puVar35 = puVar35 + -4;
                }
                else {
                  if (iStack_180 == 1) goto LAB_00084dd1;
                  if (iStack_180 == 3) {
LAB_00084fa5:
                    uVar18._0_1_ = local_44->e_ident_abiversion;
                    uVar18._1_1_ = local_44->e_ident_pad[0];
                    uVar18._2_1_ = local_44->e_ident_pad[1];
                    uVar18._3_1_ = local_44->e_ident_pad[2];
                    if (pEStack_158 == (Elf32_Ehdr *)0x0) {
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_160;
                      *(undefined4 *)(puVar35 + -0x14) = uVar18;
                      *(undefined4 *)(puVar35 + -0x18) = 0x86525;
                      uVar19 = FUN_00130d00();
                      *(byte **)(puVar35 + -0x14) = &pEStack_154[-0x5784].e_ident_abiversion;
                      *(undefined4 *)(puVar35 + -0x18) = 0x8653b;
                      uVar22 = gettext();
                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_160;
                      *(undefined4 *)(puVar35 + -0x10) = uVar19;
                      *(undefined4 *)(puVar35 + -0x14) = uVar22;
                      *(int *)(puVar35 + -0x18) = (int)uStack_190 >> 0x1f;
                      *(uint *)(puVar35 + -0x1c) = uStack_190;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_170;
                      *(Elf32_Ehdr **)(puVar35 + -0x24) = local_44;
                      *(undefined4 *)(puVar35 + -0x28) = 0x86563;
                      FUN_000d1b10();
                      puVar34 = puVar35 + -4;
                    }
                    else {
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_158;
                      *(undefined1 ***)(puVar35 + -0x14) = apuStack_b8;
                      *(undefined4 *)(puVar35 + -0x18) = 0x84fd1;
                      FUN_001e7ee0();
                      puVar21 = apuStack_b8[0];
                      *(word **)(puVar35 + -0x18) = &pEStack_154[-0x5783].e_phnum;
                      *(undefined4 *)(puVar35 + -0x1c) = 0x84fe6;
                      uVar19 = gettext();
                      *(undefined1 **)(puVar35 + -0x14) = puVar21;
                      *(undefined4 *)(puVar35 + -0x18) = uVar19;
                      *(int *)(puVar35 + -0x1c) = (int)uStack_190 >> 0x1f;
                      *(uint *)(puVar35 + -0x20) = uStack_190;
                      *(Elf32_Ehdr **)(puVar35 + -0x24) = pEStack_170;
                      *(Elf32_Ehdr **)(puVar35 + -0x28) = local_44;
                      *(undefined4 *)(puVar35 + -0x2c) = 0x85009;
                      FUN_000d1b10();
                      puVar34 = puVar35 + -8;
                      if (apuStack_b8[0] != auStack_b0) {
                        *(undefined1 **)(puVar35 + -0x18) = apuStack_b8[0];
                        *(undefined4 *)(puVar35 + -0x1c) = 0x8501f;
                        FUN_00248220();
                        puVar34 = puVar35 + -8;
                      }
                    }
                    *(undefined1 **)(puVar34 + -4) = &uStack_13d;
                    *(undefined1 **)(puVar34 + -8) = auStack_130;
                    *(Elf32_Ehdr **)(puVar34 + -0xc) = pEStack_160;
                    *(undefined4 *)(puVar34 + -0x10) = uVar18;
                    *(undefined4 *)(puVar34 + -0x14) = 0x85042;
                    iVar20 = FUN_00130350();
                    if (iVar20 != 0) {
                      *(int **)(puVar34 + -8) = &iStack_13c;
                      *(int *)(puVar34 + -0xc) = iVar20;
                      *(undefined4 *)(puVar34 + -0x10) = uVar18;
                      *(undefined4 *)(puVar34 + -0x14) = 0x85117;
                      iVar20 = FUN_001298b0();
                      if (iStack_13c != 0) {
                        *(int *)(puVar34 + -0xc) = iStack_13c;
                        *(undefined4 *)(puVar34 + -0x10) = uVar18;
                        *(undefined4 *)(puVar34 + -0x14) = 0x86db8;
                        uVar18 = FUN_00130d00();
                        *(dword **)(puVar34 + -0x10) = &pEStack_154[-0x5781].e_entry;
                        *(undefined4 *)(puVar34 + -0x14) = 0x86dd0;
                        uVar19 = gettext();
                        *(undefined4 *)(puVar34 + -0xc) = uVar18;
                        *(undefined4 *)(puVar34 + -0x10) = uVar19;
                        *(undefined4 *)(puVar34 + -0x14) = 0x86ddf;
                        FUN_000d1390();
                      }
                      if (iVar20 != 0) {
                        uVar18 = *(undefined4 *)(iVar20 + 4);
                        *(byte **)(puVar34 + -0x10) = &pEStack_154[-0x5780].e_ident_class;
                        *(undefined4 *)(puVar34 + -0x14) = 0x8514c;
                        uVar19 = gettext();
                        *(undefined4 *)(puVar34 + -0xc) = uVar18;
                        *(undefined4 *)(puVar34 + -0x10) = uVar19;
                        *(undefined4 *)(puVar34 + -0x14) = 0x85155;
                        FUN_000d1390();
                      }
                    }
                    iStack_180 = 3;
                  }
                  else {
LAB_0008507a:
                    iStack_180 = 2;
                  }
                  adStack_cc[3] = 0;
                  adStack_cc[4] = 0;
                  puVar35 = puVar34;
                }
                if (adStack_cc[0] != 0) {
                  *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;
                  *(undefined4 *)(puVar35 + -0xc) = 0x716;
                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                  *(undefined4 *)(puVar35 + -0x14) = 0x87969;
                  FUN_000da200();
                }
                adStack_cc[0] = 0xffffffff;
                if (pEStack_84 != (Elf32_Ehdr *)auStack_7c) {
                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_84;
                  *(undefined4 *)(puVar35 + -0x14) = 0x84e45;
                  FUN_00248220();
                }
                pdStack_188 = adStack_cc;
              }
              else {
                if ((piStack_1c == (int *)0x0) ||
                   (pEStack_158 = *(Elf32_Ehdr **)(*piStack_1c + (int)pEStack_170 * 4),
                   pEStack_158 == (Elf32_Ehdr *)0x0)) {
                  if (pEStack_160 < (Elf32_Ehdr *)piStack_18c[0x2c]) {
LAB_000879e0:
                    *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_phnum;
                    *(undefined4 *)(puVar35 + -0xc) = 0x17f;
                    *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87a01;
                    FUN_000da200();
                  }
                  uVar36 = (int)pEStack_160 - piStack_18c[0x2c];
                  pEStack_158 = (Elf32_Ehdr *)piStack_18c[0x30];
                  if ((uint)((int)pEStack_158 - piStack_18c[0x2f] >> 2) <= uVar36) {
                    *(byte **)(puVar35 + -8) = &pEStack_154[-0x5826].e_ident_abiversion;
                    *(undefined4 *)(puVar35 + -0xc) = 0x8ad;
                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87bc5;
                    FUN_000da200();
                  }
                  pEStack_158 = *(Elf32_Ehdr **)(piStack_18c[0x2f] + uVar36 * 4);
                  if (pEStack_158 == (Elf32_Ehdr *)0x0) goto LAB_000879e0;
                  if ((pEStack_158->e_phentsize & 0x10) == 0) goto LAB_00083d27;
                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;
                  *(undefined **)(puVar35 + -0x10) = *(undefined **)local_44;
                  *(undefined4 *)(puVar35 + -0x14) = 0x83f7e;
                  pEStack_158 = (Elf32_Ehdr *)FUN_001e6f30();
                  dVar39 = *(dword *)&pEStack_158->e_type;
                  uVar36 = dVar39 - 1;
                  if (0xfffffffd < uVar36) {
                    if (EStack_104.e_flags != 0) {
                      *(word **)(puVar35 + -8) = &pEStack_154[-0x57f9].e_type;
                      *(undefined4 *)(puVar35 + -0xc) = 0x716;
                      *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                      *(undefined **)(puVar35 + -0x14) = &UNK_00083fc5;
                      FUN_000da200();
                    }
                    goto LAB_00083d3c;
                  }
                  if ((EStack_104.e_flags != 0) && (EStack_104.e_flags != 0xfffffffe))
                  goto LAB_00087c11;
LAB_00084c30:
                  if (uVar36 == 0xfffffffd) {
                    *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;
                    *(undefined4 *)(puVar35 + -0xc) = 0x70d;
                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87be6;
                    FUN_000da200();
                  }
                }
                else {
LAB_00083d27:
                  dVar39 = *(dword *)&pEStack_158->e_type;
                  uVar36 = dVar39 - 1;
                  if (uVar36 < 0xfffffffe) goto LAB_00084c30;
LAB_00083d3c:
                  EStack_104.e_flags = 0xffffffff;
                  dVar39 = EStack_104.e_flags;
                }
                EStack_104.e_flags = dVar39;
                EStack_104.e_shnum = pEStack_158->e_shnum;
                EStack_104.e_shstrndx = pEStack_158->e_shstrndx;
                puStack_d0 = *(undefined **)(pEStack_158 + 1);
                bVar27 = (byte)pEStack_158->e_ehsize & 0xf;
                if (bVar27 == 6) {
                  EStack_104._44_4_ = EStack_104._44_4_ | 0x20000000;
                }
                else if (bVar27 == 10) {
                  EStack_104._44_4_ = EStack_104._44_4_ | 0x40000000;
                }
                bVar27 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                if ((char)bVar27 < '\0') {
                  bVar28 = (byte)pEStack_158->e_phentsize;
                  pEStack_168 = (Elf32_Ehdr *)CONCAT31(pEStack_168._1_3_,bVar28);
                  if ((bVar28 & 7) == 0) {
                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) && ((bVar27 & 0x20) != 0)) {
LAB_00085168:
                      pEStack_168 = (Elf32_Ehdr *)0x0;
                      pdStack_188 = &EStack_104.e_flags;
                      goto LAB_00084d30;
                    }
                  }
                  else if ((bVar28 & 7) == 4) goto LAB_00085168;
                }
                pdStack_188 = &EStack_104.e_flags;
LAB_00083dc2:
                pdStack_184 = &EStack_104.e_flags;
                adStack_cc[0] = 0;
                adStack_cc[1] = 0xffffffff;
                adStack_cc[2] = 0x80000000;
                adStack_cc[3] = 0;
                adStack_cc[4] = 0;
              }
              uVar18 = EStack_104._16_4_;
              pEVar17 = pEStack_154;
              pdStack_198 = adStack_cc;
              bVar27 = local_20 <= uStack_190 | (byte)(uStack_190 >> 0x1f);
              puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar27);
              if (bVar27 == 0) {
                uStack_1a0 = uStack_190 + uStack_1c0;
                iStack_19c = ((int)uStack_190 >> 0x1f) + iStack_1bc +
                             (uint)CARRY4(uStack_190,uStack_1c0);
                pEStack_160 = (Elf32_Ehdr *)(uStack_190 + iStack_2c);
                if (pEStack_160 == (Elf32_Ehdr *)0x0) goto LAB_00083e0d;
                uVar36 = puStack_3c[3];
                pEVar44 = *(Elf32_Ehdr **)(iStack_48 + 0xb4);
                pEVar29 = (Elf32_Ehdr *)
                          (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                          uVar36 << 0x18);
                pwStack_1b8 = &pEVar29[-1].e_phentsize;
                uVar36 = puStack_3c[2];
                pEStack_1a4 = (Elf32_Ehdr *)((uint)pwStack_1b8 & 0xfffffff7);
                pEStack_1a8 = (Elf32_Ehdr *)
                              (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                              uVar36 << 0x18);
                pEVar42 = pEVar29;
                pEStack_174 = pEVar29;
                pEStack_168 = pEVar29;
                if ((*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_158) &&
                   (pEVar44 != (Elf32_Ehdr *)0x0)) {
                  pEStack_16c = pEVar44;
                  if (pEStack_1a4 != (Elf32_Ehdr *)0x0) {
                    if (((undefined1 *)0x2 < (undefined1 *)((int)&pEVar29[-1].e_version + 3U)) &&
                       (pEVar29 != (Elf32_Ehdr *)0x3c)) goto LAB_00084a15;
LAB_00084bc8:
                    if ((pEVar44 == pEStack_16c) ||
                       (*(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c)) goto LAB_00084065;
                    EStack_104.e_type = 0;
                    EStack_104.e_machine = 0;
                    if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))
                    {
LAB_00084ac0:
                      EStack_104.e_type = 0;
                      EStack_104.e_machine = 0;
                      *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x5794].e_ident_class;
                      *(undefined4 *)(puVar35 + -0x14) = 0x84ad7;
                      uVar18 = gettext();
                      *(undefined4 *)(puVar35 + -0x10) = uVar18;
                      *(dword *)(puVar35 + -0x14) = EStack_104.e_shoff;
                      *(dword *)(puVar35 + -0x18) = EStack_104.e_phoff;
                      *(dword *)(puVar35 + -0x1c) = EStack_104.e_entry;
                      *(dword *)(puVar35 + -0x20) = EStack_104.e_version;
                      *(undefined4 *)(puVar35 + -0x24) = 0x84af7;
                      FUN_000d1b10();
                      uVar36 = puStack_3c[2];
                      pEStack_1a8 = (Elf32_Ehdr *)
                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18);
                      pEVar42 = pEVar17;
                      goto LAB_00084a35;
                    }
LAB_00084621:
                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                    pEStack_17c = pEStack_1a8;
LAB_00084647:
                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                    uStack_128._0_4_ = (Elf32_Ehdr *)0x0;
                    *(undefined4 *)(puVar35 + -4) = 0x84655;
                    pEStack_1a8 = pEStack_17c;
                    uVar18 = FUN_0004d6c0();
                    *(undefined4 *)(puVar35 + -0xc) = uVar18;
                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                    *(undefined4 *)(puVar35 + -0x14) = 0x84664;
                    uVar13 = FUN_000a7d80();
                    uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);
                    uVar18 = extraout_EDX;
                    pEVar29 = pEVar42;
                    goto LAB_0008466d;
                  }
                  pEVar42 = (Elf32_Ehdr *)0x0;
LAB_00084065:
                  EStack_104.e_type = 0;
                  EStack_104.e_machine = 0;
                  if (uVar18 == 1) {
                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                    pEVar42 = local_44;
                    pEStack_17c = pEStack_1a8;
                    goto LAB_00084647;
                  }
                  if (uVar18 == 0) {
                    *(word **)(puVar35 + -0x10) = &pEStack_154[-0x5780].e_ehsize;
                    *(undefined4 *)(puVar35 + -0x14) = 0x845ef;
                    uVar18 = gettext();
                    uVar36 = *puStack_3c;
                    uVar40 = puStack_3c[1];
                    *(undefined4 *)(puVar35 + -0x10) = uVar18;
                    *(uint *)(puVar35 + -0x14) =
                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18;
                    *(uint *)(puVar35 + -0x18) =
                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18;
                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                    *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                    *(undefined4 *)(puVar35 + -0x24) = 0x84610;
                    FUN_000d1b10();
                    uVar36 = puStack_3c[2];
                    pEStack_1a8 = (Elf32_Ehdr *)
                                  (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18);
                    pEVar42 = pEVar17;
                    goto LAB_00084621;
                  }
                  if (uVar18 != 2) goto LAB_00084a35;
                  if ((pEVar29 == (Elf32_Ehdr *)0x3c || pEVar29 == (Elf32_Ehdr *)0x77) ||
                     ((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3))
                  goto LAB_000845c4;
                  if (pEVar29 == (Elf32_Ehdr *)0x78) {
                    pEStack_160->e_ident_class = 0x60;
                    pEStack_160->e_ident_data = 0;
                    pEStack_160->e_ident_version = 0;
                    pEStack_160->e_ident_osabi = 0;
                  }
                  goto LAB_000840c8;
                }
                if (pEStack_1a4 == (Elf32_Ehdr *)0x0) {
                  pEStack_16c = pEStack_158;
                  pEVar42 = pEStack_158;
LAB_00084b1c:
                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084bc8;
                  EStack_104.e_type = 0;
                  EStack_104.e_machine = 0;
                  if (uVar18 == 0) {
                    pEVar42 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                    pEStack_17c = pEStack_1a8;
                    pEStack_178 = pEVar42;
                  }
                  else {
                    if ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0) goto LAB_00084ac0;
                    pEVar42 = local_44;
                    pEStack_17c = pEStack_1a8;
                    pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                  }
                }
                else {
                  if (((undefined1 *)((int)&pEVar29[-1].e_version + 3U) < (undefined1 *)0x3) ||
                     (pEVar29 == (Elf32_Ehdr *)0x3c)) {
                    pEStack_16c = pEStack_158;
                    goto LAB_00084b1c;
                  }
                  pEStack_16c = pEStack_158;
                  pEVar42 = pEStack_158;
LAB_00084a15:
                  if ((undefined1 *)((int)&pEVar29[-3].e_flags + 1) < (undefined1 *)0x2)
                  goto LAB_00084b1c;
                  EStack_104.e_type = 0;
                  EStack_104.e_machine = 0;
                  if ((uVar18 != 0) && ((Elf32_Ehdr *)EStack_104.e_version != (Elf32_Ehdr *)0x0))
                  goto LAB_00084ac0;
LAB_00084a35:
                  pEStack_178 = *(Elf32_Ehdr **)&local_44->e_ident_abiversion;
                  pEStack_17c = pEStack_1a8;
                  if (pEStack_16c != (Elf32_Ehdr *)0x0) goto LAB_00084647;
                }
                uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                uStack_128._0_4_ = (Elf32_Ehdr *)0x0;
                *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;
                *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;
                *(undefined4 *)(puVar35 + -0x14) = 0x84a8a;
                pEStack_1a8 = pEStack_17c;
                uVar13 = FUN_00129570();
                uStack_1b0 = CONCAT31(uStack_1b0._1_3_,uVar13);
                pEStack_16c = (Elf32_Ehdr *)0x0;
                uVar18 = extraout_EDX_02;
                pEVar29 = pEVar42;
LAB_0008466d:
                pEVar44 = pEStack_16c;
                pEVar17 = pEStack_174;
                bVar45 = (undefined1 *)((int)&pEStack_174[-1].e_version + 3U) < (undefined1 *)0x3;
                bVar48 = pEStack_174 == (Elf32_Ehdr *)0x3c;
                uVar32 = (undefined3)((uint)uVar18 >> 8);
                lVar52 = CONCAT44(CONCAT31(uVar32,bVar48),(Elf32_Ehdr *)uStack_128);
                if ((char)uStack_1b0 == '\0') {
                  uVar36 = (uint)((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45);
                  if ((pEStack_174 == (Elf32_Ehdr *)0x77 || bVar48) || bVar45) {
LAB_000845c4:
                    *(undefined **)pEStack_160 = (undefined *)0x60;
                    goto LAB_000840c8;
                  }
                  puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);
                  cStack_1b1 = '\x01';
LAB_000847e7:
                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                  cVar12 = (char)uVar36;
                  if ((undefined1 *)((int)&pEStack_174[-1].e_flags + 2U) < (undefined1 *)0x4) {
LAB_00084960:
                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                      puVar30 = *(undefined **)pEStack_178;
                      *(undefined4 *)(puVar35 + -0x10) = 0;
                      *(undefined4 *)(puVar35 + -0x14) = 0;
                      *(undefined4 *)(puVar35 + -0x18) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                      pcVar3 = *(code **)(puVar30 + 0xac);
                      *(undefined4 *)(puVar35 + -0x24) = 0x864be;
                      uVar18 = (*pcVar3)();
                      if ((char)uVar18 == '\0') {
                        *(undefined4 *)(puVar35 + -4) = uVar18;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0x2341;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -0x14) = 0x87e03;
                        FUN_000da200();
                      }
                      puVar30 = *(undefined **)pEStack_178;
                      *(undefined4 *)(puVar35 + -0x10) = 0;
                      *(undefined4 *)(puVar35 + -0x14) = 0;
                      *(undefined4 *)(puVar35 + -0x18) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                      pcVar3 = *(code **)(puVar30 + 0xb0);
                      *(undefined4 *)(puVar35 + -0x24) = 0x864e7;
                      uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                    }
                    else {
                      pdVar23 = &pEStack_16c->e_phoff;
                      while (*pdVar23 != 0) {
                        pdVar23 = (dword *)pdVar23[2];
                        if (pdVar23 == (dword *)0x0) goto LAB_00084989;
                      }
                      if (pdVar23[1] == 0xffffffff) {
LAB_00084989:
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0x233c;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_000849aa;
                        FUN_000da200();
                      }
                      *(undefined4 *)(puVar35 + -0xc) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                      *(undefined4 *)(puVar35 + -0x14) = 0x86432;
                      uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                    }
                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                    iVar20 = *(int *)(iStack_48 + 0x14);
                    if (iVar20 == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0x87c11;
                      FUN_00051e10();
LAB_00087c11:
                      pEVar17 = pEStack_154;
                      *(byte **)(puVar35 + -8) = pEStack_154[-0x57f8].e_ident_pad + 3;
                      *(undefined4 *)(puVar35 + -0xc) = 0x70c;
                      *(word **)(puVar35 + -0x10) = &pEVar17[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c32;
                      FUN_000da200();
                    }
                    iVar15 = *(int *)(iVar20 + 0x20);
                    if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) {
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c0c;
                      FUN_000da200();
                    }
                    pEVar17 = *(Elf32_Ehdr **)(iVar15 + 4);
                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -4) = 0x87beb;
                      FUN_00052f10();
                    }
                    bVar45 = 0x7fff < (Elf32_Ehdr *)uStack_128;
                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - 0x8000;
                    pEVar44 = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));
                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)pEVar44 - (int)pEVar17);
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)
                         ((((bVar45 - 1) + *(int *)(iVar20 + 8) +
                           (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -
                         (uint)(pEVar44 < pEVar17));
LAB_0008524b:
                    uVar53 = CONCAT44(pwStack_1b8,pEVar17);
                    if (pwStack_1b8 < (word *)0xf3) {
                    /* WARNING: Could not recover jumptable at 0x0008526c. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(*(undefined **)
                                            ((int)pEStack_154 + ((int)pwStack_1b8 + -0x4a325) * 4) +
                                          (int)pEStack_154))();
                      return pEVar17;
                    }
                  }
                  else {
LAB_000847f9:
                    pEVar17 = pEStack_178;
                    uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                    pEVar42 = (Elf32_Ehdr *)uStack_128;
                    uVar53 = CONCAT44(pEVar29,pEStack_174);
                    if (&pEStack_174[-2].e_shentsize < (word *)0x2) goto LAB_00084960;
                    if (pEStack_174 == (Elf32_Ehdr *)0x33) {
                      if (*(int *)(iStack_48 + 0x14) == 0) goto LAB_00087e7f;
                      iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);
                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                        *(int *)(puVar35 + -4) = iVar20;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -0x14) = 0x87e7a;
                        FUN_000da200();
                      }
                      uVar36 = *(uint *)(iVar20 + 4);
                      uVar40 = uVar36 + 0x8000;
                      uVar16 = *(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36);
                      uStack_128 = CONCAT44(uVar16,uVar40);
                      uVar36 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar36 << 0x18;
                      pEStack_160->e_ident_class = (char)uVar36;
                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);
                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);
                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);
                      *(undefined **)pEStack_160 =
                           (undefined *)
                           (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                           uVar16 * 0x1000000);
                      goto LAB_000840c8;
                    }
                    pEVar44 = pEVar29;
                    if (pEStack_16c == (Elf32_Ehdr *)0x0) goto LAB_00086650;
                    bVar27 = pEStack_1a4 == (Elf32_Ehdr *)0x0 & (byte)puStack_194;
                    pEStack_1a4 = (Elf32_Ehdr *)CONCAT31(pEStack_1a4._1_3_,bVar27);
                    if (bVar27 == 0) {
                      pEStack_1a4 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);
                      pEVar38 = pEStack_174;
                      if (pEStack_1a4 < (Elf32_Ehdr *)0x4) {
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86774;
                        cVar12 = FUN_001e6ba0();
                        goto LAB_0008666f;
                      }
                      goto LAB_00084855;
                    }
                    if (cVar12 == '\0') {
                      pEVar44 = pEStack_174;
                      if (*(Elf32_Ehdr **)(iStack_48 + 0xb4) != (Elf32_Ehdr *)0x0) {
                        pwVar24 = &pEStack_174[-1].e_phentsize;
                        bVar45 = *(Elf32_Ehdr **)(iStack_48 + 0xb0) == pEStack_16c ||
                                 *(Elf32_Ehdr **)(iStack_48 + 0xb4) == pEStack_16c;
                        puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,bVar45);
                        pEVar44 = pEStack_16c;
                        uVar53 = CONCAT44(iStack_48,pEStack_16c);
                        uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                        if (bVar45) goto LAB_00086f95;
                      }
                      uVar36 = puStack_3c[1];
                      uVar40 = *puStack_3c;
                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18;
                      iVar20 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar40 << 0x18) + (uint)(0xfffffff7 < uVar36);
                      uVar36 = (uint)(local_20 < uVar36 + 8);
                      uVar40 = -iVar20;
                      bVar45 = iVar20 != 0 || uVar40 < uVar36;
                      uVar53 = CONCAT44(uVar40 - uVar36,pEVar44);
                      bVar48 = uVar40 - uVar36 == 0;
                      if (iVar20 == 0 && uVar40 >= uVar36) {
                        puStack_194 = *(undefined **)pEStack_160;
                        bVar45 = false;
                        bVar48 = ((uint)puStack_194 & 0x1000000) == 0;
                        if (!bVar48) {
                          uVar36._0_1_ = pEStack_160->e_ident_class;
                          uVar36._1_1_ = pEStack_160->e_ident_data;
                          uVar36._2_1_ = pEStack_160->e_ident_version;
                          uVar36._3_1_ = pEStack_160->e_ident_osabi;
                          uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18;
                          bVar45 = false;
                          bVar7 = uVar36 != 0x60000000;
                          bVar8 = uVar36 != 0x4def7b82;
                          bVar46 = uVar36 != 0x4ffffb82;
                          bVar48 = (bVar7 && bVar8) && bVar46;
                          puStack_194._1_3_ = (undefined3)((uint)puStack_194 >> 8);
                          puStack_194 = (undefined *)
                                        CONCAT31(puStack_194._1_3_,
                                                 (uVar36 == 0x60000000 || uVar36 == 0x4def7b82) ||
                                                 uVar36 == 0x4ffffb82);
                          if ((!bVar7 || !bVar8) || !bVar46) {
                            pdStack_188 = *(dword **)(iStack_48 + 8);
                            *(uint *)&pEStack_160->e_ident_class =
                                 (-(uint)(((uint)pdStack_188 & 2) == 0) & 0x10000000) + 0x180041e8;
                            pwVar24 = &pEStack_174[-1].e_phentsize;
                            uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                            goto LAB_00086f95;
                          }
                        }
                      }
                      iVar20 = 0x12;
                      pEVar29 = *(Elf32_Ehdr **)pEStack_16c;
                      pEVar43 = pEStack_154 + -0x57ab;
                      do {
                        pEVar38 = pEVar29;
                        pEVar44 = pEVar43;
                        if (iVar20 == 0) break;
                        iVar20 = iVar20 + -1;
                        pEVar44 = (Elf32_Ehdr *)((int)pEVar43 + (uint)bVar50 * -2 + 1);
                        pEVar38 = (Elf32_Ehdr *)((int)pEVar29 + (uint)bVar50 * -2 + 1);
                        bVar45 = pEVar29->e_ident_magic_num < pEVar43->e_ident_magic_num;
                        bVar48 = pEVar29->e_ident_magic_num == pEVar43->e_ident_magic_num;
                        pEVar29 = pEVar38;
                        pEVar43 = pEVar44;
                      } while (bVar48);
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      if ((!bVar45 && !bVar48) != bVar45) {
                        uStack_120._0_4_ = (Elf32_Ehdr *)uStack_128;
                        uStack_120._4_4_ = uStack_128._4_4_;
                        uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                        if (((pEStack_16c->e_phentsize & 7) == 0) &&
                           (uVar53 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                           *(Elf32_Ehdr **)&pEStack_16c->e_ident_abiversion == pEStack_178)) {
                          puStack_138 = (undefined *)0x0;
                          if ((*(byte *)(iStack_48 + 8) & 2) == 0) {
                            uVar36 = puStack_3c[4];
                            uVar40 = puStack_3c[5];
                            *(uint *)(puVar35 + -4) =
                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8
                                 | uVar36 << 0x18;
                            *(uint *)(puVar35 + -8) =
                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8
                                 | uVar40 << 0x18;
                            *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                            *(dword **)(puVar35 + -0x10) = pdStack_188;
                            *(undefined4 *)(puVar35 + -0x14) = 0x878d1;
                            uStack_120 = FUN_000a9dc0();
                            *(undefined ***)(puVar35 + -8) = &puStack_138;
                            *(undefined8 **)(puVar35 + -0xc) = &uStack_120;
                            *(Elf32_Ehdr **)(puVar35 + -0x10) = pEVar17;
                            *(undefined4 *)(puVar35 + -0x14) = 0x87902;
                            FUN_0007c1b0();
                            puVar30 = puStack_138;
                            if (puStack_138 == (undefined *)0x0) {
                              uVar53 = uStack_120;
                              if ((pEStack_16c->e_phentsize & 7) != 0) {
                                *(Elf32_Ehdr **)(puVar35 + -4) = pEStack_16c;
                                *(byte **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_ident_class;
                                *(undefined4 *)(puVar35 + -0xc) = 0xaa;
                                *(undefined1 **)(puVar35 + -0x10) =
                                     (undefined1 *)((int)&pEStack_154[-0x57b6].e_flags + 2);
                    /* WARNING: Subroutine does not return */
                                *(undefined **)(puVar35 + -0x14) = &UNK_00087942;
                                FUN_000da200();
                              }
                              goto LAB_00087667;
                            }
                          }
                          else {
LAB_00087667:
                            uStack_120 = uVar53;
                            puVar30 = *(undefined **)(pEStack_16c->e_ident_pad + 3);
                          }
                          pEVar38 = pEVar42;
                          pEVar44 = local_44;
                          uVar53 = uStack_120;
                          if ((undefined *)local_44->e_entry == puVar30) goto LAB_00086d73;
                        }
                        pEVar44 = pEStack_154;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x577f].e_phoff;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86d37;
                        uStack_120 = uVar53;
                        uVar18 = gettext();
                        uVar36 = *puStack_3c;
                        uVar40 = puStack_3c[1];
                        *(undefined4 *)(puVar35 + -0x10) = uVar18;
                        pEVar38 = (Elf32_Ehdr *)
                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                   (uVar40 & 0xff00) << 8 | uVar40 << 0x18);
                        *(uint *)(puVar35 + -0x14) =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        *(Elf32_Ehdr **)(puVar35 + -0x18) = pEVar38;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                        *(undefined4 *)(puVar35 + -0x24) = 0x86d58;
                        FUN_000d1b10();
                        uStack_128 = uStack_120;
                      }
LAB_00086d73:
                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,pEStack_1a4._0_1_);
LAB_00086d80:
                      pwVar24 = &pEStack_174[-1].e_phentsize;
                      uVar53 = CONCAT44(pEVar44,pEVar38);
                    }
                    else {
                      puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,cVar12);
                      pwVar24 = &pEStack_174[-1].e_phentsize;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    }
LAB_00086f95:
                    if (pwVar24 < (word *)0xf3) {
                    /* WARNING: Could not recover jumptable at 0x00086faf. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(pEStack_154->e_ident_magic_str +
                                          *(int *)(pEStack_154->e_ident_magic_str +
                                                  (int)(pwVar24 + -0x2501b) * 4 + -1) + -1))();
                      return pEVar17;
                    }
                  }
                  uVar10 = uStack_128;
                  if (pEStack_168 == (Elf32_Ehdr *)0x9) {
LAB_00085507:
                    uVar36 = 0;
LAB_00085509:
                    puVar30 = *(undefined **)pEStack_160;
                    uVar40 = (uint)puVar30 >> 0x18 | ((uint)puVar30 & 0xff0000) >> 8 |
                             ((uint)puVar30 & 0xdf00) << 8 | (int)puVar30 << 0x18;
                    uVar36 = uVar40 | uVar36;
                    uVar40 = uVar40 & 0x2800000;
                    if (uVar40 == 0x800000) {
                      uVar36 = uVar36 | 0x400000;
                    }
                    else {
                      if (uVar40 != 0x2000000) goto LAB_000852e8;
                      uVar36 = uVar36 | 0x1000000;
                    }
                    *(undefined **)pEStack_160 =
                         (undefined *)
                         (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18);
                  }
                  else if (pEStack_168 < (Elf32_Ehdr *)0xa) {
                    if (pEStack_168 == (Elf32_Ehdr *)&DAT_00000008) goto LAB_000855d5;
                  }
                  else {
                    if (pEStack_168 == (Elf32_Ehdr *)0xc) {
LAB_000855d5:
                      uVar36 = 0x200000;
                      goto LAB_00085509;
                    }
                    if (pEStack_168 == (Elf32_Ehdr *)0xd) goto LAB_00085507;
                  }
LAB_000852e8:
                  uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                  uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                  pEVar44 = (Elf32_Ehdr *)(uVar53 >> 0x20);
                  uStack_128 = uVar10;
                  if (pEStack_168 == (Elf32_Ehdr *)0x52) goto LAB_000856c9;
                  if (pEStack_168 < (Elf32_Ehdr *)0x53) {
                    if (pEStack_168 != (Elf32_Ehdr *)0x3b) {
                      if ((Elf32_Ehdr *)0x3b < pEStack_168) {
                        if (pEStack_168 == (Elf32_Ehdr *)0x46) goto LAB_000860c0;
                        if (pEStack_168 < (Elf32_Ehdr *)0x47) {
                          if (pEStack_168 == (Elf32_Ehdr *)0x40) goto LAB_000862b5;
                        }
                        else {
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          if (pEStack_168 == (Elf32_Ehdr *)0x48) goto LAB_0008620b;
                          if (pEStack_168 == (Elf32_Ehdr *)0x50) goto LAB_000862b5;
                        }
                        goto LAB_00085718;
                      }
                      if (pEStack_168 == (Elf32_Ehdr *)0x11) goto LAB_000856c9;
                      if (pEStack_168 < (Elf32_Ehdr *)0x12) {
                        if (pEStack_168 == (Elf32_Ehdr *)0xf) goto LAB_000862b5;
                      }
                      else {
                        if (pEStack_168 == (Elf32_Ehdr *)0x30) goto LAB_000862b5;
                        if (pEStack_168 == (Elf32_Ehdr *)0x32) goto LAB_000856c9;
                      }
                      goto LAB_00085718;
                    }
LAB_000862b5:
                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                    if (iVar20 == 0) {
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87d9c;
                      FUN_000da200();
                    }
                    if (*(char *)(iVar20 + 0x3fed) != '\0') {
                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                      uVar36 = (uint)pEStack_174 >> 0x18;
                      uVar40 = (int)pEStack_174 << 0x18;
                      puVar21 = (undefined1 *)
                                (uVar36 | ((uint)pEStack_174 & 0xff0000) >> 8 |
                                 ((uint)pEStack_174 & 0xff00) << 8 | uVar40);
                      if (pEStack_168 == (Elf32_Ehdr *)0x40) {
                        *(undefined4 *)(puVar35 + -4) = 0x86ee4;
                        cVar12 = MASKED();
                        if (cVar12 == '\0') goto LAB_00087160;
                        if ((uVar40 & 0xfc000000) != 0xe8000000) {
                          *(undefined1 **)(puVar35 + -4) = puVar21;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x258e;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87f8b;
                          FUN_000da200();
                        }
                        uVar40 = (uint)puVar21 ^ 0xd0000000;
                        *(undefined4 *)(puVar35 + -4) = 0x86f10;
                        cVar12 = FUN_0004d340();
                        if (cVar12 == '\0') {
                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;
                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;
                          pEStack_160->e_ident_magic_num = (char)uVar14;
                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                          pEVar29 = pEVar44;
                        }
                        else {
                          iStack_164 = (int)(uStack_128 + 0x8000 >> 0x20);
                          if (iStack_164 == 0 &&
                              (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iStack_164) {
                            pEStack_168 = (Elf32_Ehdr *)0x30;
                            *(uint *)&pEStack_160[-1].e_shstrndx =
                                 uVar40 >> 0x18 | (uVar40 & 0xe00000 | 0x20000) >> 8 |
                                 (uVar40 & 0xff00) << 8 | uVar36 << 0x18;
                            goto LAB_00085788;
                          }
                          pEStack_168 = (Elf32_Ehdr *)0x30;
                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 ^ 0xd0;
                          uVar14 = (ushort)uStack_128 << 8 | (ushort)uStack_128 >> 8;
                          pEStack_160->e_ident_magic_num = (char)uVar14;
                          pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                          pEVar29 = (Elf32_Ehdr *)(uStack_128 - 0x10000 >> 0x20);
                        }
                        goto LAB_000840c8;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x86308;
                      cVar12 = FUN_0004d340();
                      uVar10 = uStack_128;
                      if ((cVar12 != '\0') &&
                         (iVar20 = (int)(uStack_128 + 0x8000 >> 0x20),
                         iVar20 == 0 &&
                         (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20))
                      goto LAB_00086339;
                    }
LAB_00085718:
                    uStack_128 = uVar10;
                    if (pEStack_168 < (Elf32_Ehdr *)0xfd) {
                    /* WARNING: Could not recover jumptable at 0x00085739. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(pEStack_154->e_ident_magic_str +
                                          *(int *)(pEStack_154->e_ident_pad +
                                                  (int)pEStack_168[-0x16d0].e_ident_pad * 4 + 0xb) +
                                          -1))();
                      return pEVar17;
                    }
                    goto LAB_00085788;
                  }
                  if (pEStack_168 == (Elf32_Ehdr *)0x5c) goto LAB_000862b5;
                  if (pEStack_168 < (Elf32_Ehdr *)0x5d) {
                    if (pEStack_168 == (Elf32_Ehdr *)0x56) {
LAB_000856c9:
                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                      if (iVar20 == 0) {
                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                        *(undefined1 **)(puVar35 + -0x10) =
                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_00087d19;
                        FUN_000da200();
                      }
                      if (*(char *)(iVar20 + 0x3fed) == '\0') goto LAB_00085718;
                      uVar36 = (*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 |
                               *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;
                      if (pEStack_168 != (Elf32_Ehdr *)0x32) {
                        if (((uVar36 & 0xfc1f0000) == 0x3c020000) &&
                           (pEVar44 = (Elf32_Ehdr *)(uVar10 + 0x8000 >> 0x20),
                           pEVar44 == (Elf32_Ehdr *)0x0 &&
                           (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-(int)pEVar44))
                        goto LAB_000866af;
                        goto LAB_00085718;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x85de4;
                      cVar12 = MASKED();
                      uVar36 = uVar36 & 0xfc1f0000;
                      uVar10 = uStack_128;
                      if (cVar12 == '\0') {
                        if (uVar36 != 0x3c020000) goto LAB_00087ff7;
                      }
                      else if (uVar36 != 0x3c020000) {
                        *(int *)(puVar35 + -4) = (int)uVar53;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0x2572;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_000871d3;
                        FUN_000da200();
                      }
                      pEVar44 = (Elf32_Ehdr *)(uStack_128 + 0x8000 >> 0x20);
                      if (pEVar44 == (Elf32_Ehdr *)0x0 &&
                          (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-(int)pEVar44) {
LAB_000866af:
                        *(undefined4 *)&pEStack_160[-1].e_shstrndx = 0x60;
                        pEVar29 = pEVar44;
                        uStack_128 = uVar10;
                        goto LAB_000840c8;
                      }
                      goto LAB_00085788;
                    }
                    if (pEStack_168 < (Elf32_Ehdr *)0x57) {
                      if (pEStack_168 == (Elf32_Ehdr *)0x54) goto LAB_000862b5;
                    }
                    else {
                      if (pEStack_168 == (Elf32_Ehdr *)0x58) goto LAB_000862b5;
                      if (pEStack_168 == (Elf32_Ehdr *)0x5a) goto LAB_000856c9;
                    }
                    goto LAB_00085718;
                  }
                  if (pEStack_168 == (Elf32_Ehdr *)0x60) {
LAB_000860c0:
                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
LAB_000860cc:
                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87d7e;
                      uStack_128 = uVar10;
                      FUN_000da200();
                    }
                    if ((*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) != '\0') &&
                       (iVar20 = (int)(uVar10 + 0x8000 >> 0x20),
                       iVar20 == 0 && (uint)(0xffff < (uint)(uVar10 + 0x8000)) <= (uint)-iVar20)) {
                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_174 & 0xffffe0ff | 0xd00;
                    }
                    goto LAB_00085718;
                  }
                  if (pEStack_168 < (Elf32_Ehdr *)0x61) {
                    if (pEStack_168 == (Elf32_Ehdr *)0x5e) goto LAB_000856c9;
                    goto LAB_00085718;
                  }
                  if (pEStack_168 != (Elf32_Ehdr *)0x76) {
                    if (pEStack_168 == (Elf32_Ehdr *)0xfa) {
                      pEVar29 = pEStack_160;
                      if ((((int)uStack_128._4_4_ +
                            (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 + 0x80007ffc,uStack_1a0) +
                            iStack_19c + (uint)(0x7fff8003 < (Elf32_Ehdr *)uStack_128) == 0) &&
                          (pEStack_170 != (Elf32_Ehdr *)0x0)) &&
                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {
                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                        uVar36 = (uint)(Elf32_Ehdr *)uStack_128;
                        pEVar17 = pEStack_154;
                        if (iVar20 == 0) {
LAB_00087f11:
                          *(uint *)(puVar35 + -4) = uVar36;
                          *(Elf32_Ehdr **)(puVar35 + -8) = pEVar17 + -0x57ee;
                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEVar17[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87f29;
                          uStack_128 = uVar10;
                          FUN_000da200();
                        }
                        if ((*(char *)(iVar20 + 0x1a25) == '\0') &&
                           (*(char *)(iVar20 + 0x2931) == '\0')) {
                          uVar36 = puStack_3c[4];
                          uVar40 = puStack_3c[5];
                          if (pEStack_16c != (Elf32_Ehdr *)0x0) {
                            bVar47 = false;
                            bVar45 = (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                      (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 6;
                            bVar7 = uVar36 >> 0x18 == 0;
                            bVar8 = (uVar36 & 0xff0000) == 0;
                            bVar46 = (uVar36 & 0xff00) == 0;
                            bVar48 = (uVar36 & 0xff) == 0;
                            bVar49 = bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48);
                            if (bVar45 && (((bVar7 && bVar8) && bVar46) && bVar48)) {
                              iVar20 = 6;
                              pbVar33 = *(byte **)pEStack_16c;
                              pdVar23 = &pEStack_154[-0x57b5].e_phoff;
                              do {
                                if (iVar20 == 0) break;
                                iVar20 = iVar20 + -1;
                                bVar47 = *pbVar33 < (byte)*pdVar23;
                                bVar49 = *pbVar33 == (byte)*pdVar23;
                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                pdVar23 = (dword *)((int)pdVar23 + (uint)bVar50 * -2 + 1);
                              } while (bVar49);
                              if ((!bVar47 && !bVar49) == bVar47) {
                                uStack_1e0 = 0;
                                uVar36 = puStack_3c[-4];
                                uVar40 = puStack_3c[-3];
                                pEStack_1dc = pEStack_1a8;
                                if ((Elf32_Ehdr *)
                                    (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                     (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == pEStack_1a8 &&
                                    (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                     (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == 0xfc) {
                                  uVar36 = puStack_3c[-6];
                                  uVar40 = puStack_3c[-5];
                                  uVar26 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                           (uVar40 & 0xff00) << 8 | uVar40 << 0x18;
                                  uVar40 = *puStack_3c;
                                  uVar16 = puStack_3c[1];
                                  uVar36 = (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                            (uVar36 & 0xff00) << 8 | uVar36 << 0x18) +
                                           (uint)(0xfffffffb < uVar26);
                                  if (((((uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                          (uVar40 & 0xff00) << 8 | uVar40 << 0x18) == uVar36 &&
                                         (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                          (uVar16 & 0xff00) << 8 | uVar16 << 0x18) == uVar26 + 4) &&
                                       (pEStack_168 = (Elf32_Ehdr *)puStack_3c[-1],
                                       pEStack_168 == (Elf32_Ehdr *)0x2000000 && puStack_3c[-2] == 0
                                       )) && (pEStack_160[-1].e_shentsize == 0x4c3c)) &&
                                     (pEStack_160[-1].e_shstrndx == 0x4238)) {
                                    uVar40 = ((int)(Elf32_Ehdr *)uStack_128 + uStack_1a0) - 4 &
                                             0xffff;
                                    uVar26 = (int)(Elf32_Ehdr *)uStack_128 + uStack_1a0 + 0x7ffc >>
                                             0x10;
                                    uVar16 = uVar40 + 0x38420000;
                                    uVar31 = uVar26 + 0x3c400000;
                                    *(uint *)&pEStack_160[-1].e_shstrndx =
                                         uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                         (uVar16 & 0xff00) << 8 | uVar40 << 0x18;
                                    uVar40 = uVar31 >> 0x18 | (uVar31 & 0xff0000) >> 8 |
                                             (uVar31 & 0xff00) << 8 | uVar26 << 0x18;
                                    pEStack_160[-0xffffffff00000001].e_shentsize = (short)uVar40;
                                    pEStack_160[-0xffffffff00000001].e_shnum =
                                         (short)(uVar40 >> 0x10);
                                    piVar25 = (int *)local_44->e_version;
                                    if (piVar25 != (int *)0x0) {
                                      if ((undefined1 *)(piVar25[1] - *piVar25) <=
                                          (undefined1 *)((int)&pEStack_170[-1].e_shstrndx + 1U)) {
                                        *(uint **)(puVar35 + -4) = puStack_3c;
                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;
                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;
                                        *(word **)(puVar35 + -0x10) =
                                             &pEStack_154[-0x57b2].e_phentsize;
                    /* WARNING: Subroutine does not return */
                                        *(undefined4 *)(puVar35 + -0x14) = 0x88113;
                                        FUN_000da200();
                                      }
                                      pEStack_170->e_ident_magic_str[*piVar25 + -2] = '\t';
                                      iVar20 = *(int *)local_44->e_version;
                                      if ((Elf32_Ehdr *)(((int *)local_44->e_version)[1] - iVar20)
                                          <= pEStack_170) {
                                        *(uint *)(puVar35 + -4) = uVar36;
                                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_shoff;
                                        *(undefined4 *)(puVar35 + -0xc) = 0x12f;
                                        *(word **)(puVar35 + -0x10) =
                                             &pEStack_154[-0x57b2].e_phentsize;
                    /* WARNING: Subroutine does not return */
                                        *(undefined4 *)(puVar35 + -0x14) = 0x880f4;
                                        FUN_000da200();
                                      }
                                      pEStack_170->e_ident_magic_str[iVar20 + -1] = '\t';
                                      pEVar29 = pEStack_170;
                                    }
                                    goto LAB_000840c8;
                                  }
                                }
                              }
                            }
                          }
                        }
                      }
                      uVar14 = (ushort)uVar10 << 8 | (ushort)uVar10 >> 8;
                      pEStack_160->e_ident_magic_num = (char)uVar14;
                      pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                      goto LAB_000840c8;
                    }
                    goto LAB_00085718;
                  }
                  if (*(int *)(iStack_48 + 0x14) == 0) {
                    *(undefined4 *)(puVar35 + -4) = 0x87d3f;
                    FUN_00051e10();
LAB_00087d3f:
                    *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                    *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                    *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                    *(undefined4 *)(puVar35 + -0x14) = 0x87d60;
                    FUN_000da200();
                  }
                  iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);
                  if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) goto LAB_00087d3f;
                  uVar36 = *(uint *)(iVar20 + 4);
                  uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + 0x8000);
                  uStack_128._4_4_ =
                       (Elf32_Ehdr *)(*(int *)(iVar20 + 8) + (uint)(0xffff7fff < uVar36));
                  if (*(int *)(iVar20 + 8) + (uint)(0x7ffeffff < uVar36) == 0) {
                    iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                    if (iVar20 == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0;
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87e5b;
                      FUN_000da200();
                    }
                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x2931) != '\0')
                       ) goto LAB_000853b0;
                    pEStack_16c = *(Elf32_Ehdr **)pEStack_160;
                    uVar16._0_1_ = pEStack_160->e_ident_class;
                    uVar16._1_1_ = pEStack_160->e_ident_data;
                    uVar16._2_1_ = pEStack_160->e_ident_version;
                    uVar16._3_1_ = pEStack_160->e_ident_osabi;
                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&
                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                       (uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 | (uVar16 & 0xff00) << 8 |
                       uVar16 << 0x18) == 0x7c426214)) {
                      uVar36 = uVar36 + 0x10000 >> 0x10;
                      uVar40 = uVar36 + 0x3c400000;
                      puVar30 = (undefined *)
                                (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8
                                | uVar36 << 0x18);
LAB_00085643:
                      *(undefined **)pEStack_160 = puVar30;
                      uVar36 = ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) + 0x38420000;
                      uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               ((uint)(Elf32_Ehdr *)uStack_128 & 0xffff) << 0x18;
                      pEStack_160->e_ident_class = (char)uVar36;
                      pEStack_160->e_ident_data = (char)(uVar36 >> 8);
                      pEStack_160->e_ident_version = (char)(uVar36 >> 0x10);
                      pEStack_160->e_ident_osabi = (char)(uVar36 >> 0x18);
                      pEVar29 = pEStack_16c;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      goto LAB_000840c8;
                    }
                  }
                  else {
LAB_000853b0:
                    bVar45 = (Elf32_Ehdr *)uStack_128 < uStack_1a0;
                    uStack_128._0_4_ = (Elf32_Ehdr *)((int)(Elf32_Ehdr *)uStack_128 - uStack_1a0);
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)((int)uStack_128._4_4_ + (-(uint)bVar45 - iStack_19c));
                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((int)uStack_128._4_4_ + (uint)(0x7fff7fff < (Elf32_Ehdr *)uStack_128) == 0)
                    {
                      pEStack_16c = *(Elf32_Ehdr **)pEStack_160;
                      uVar40._0_1_ = pEStack_160->e_ident_class;
                      uVar40._1_1_ = pEStack_160->e_ident_data;
                      uVar40._2_1_ = pEStack_160->e_ident_version;
                      uVar40._3_1_ = pEStack_160->e_ident_osabi;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      if ((((uint)pEStack_16c & 0x300ffff) == 0x4ce8) &&
                         (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                         (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18) == 0x7c426214)) {
                        uVar36 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000U >> 0x10;
                        uVar40 = uVar36 + 0x3c4c0000;
                        puVar30 = (undefined *)
                                  (uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                   (uVar40 & 0xff00) << 8 | uVar36 << 0x18);
                        goto LAB_00085643;
                      }
                    }
                  }
LAB_000853db:
                  pEVar29 = pEStack_154;
                  *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57ab].e_machine;
                  *(undefined4 *)(puVar35 + -0x14) = 0x853f2;
                  uVar18 = gettext();
                  uVar36 = *puStack_3c;
                  uVar40 = puStack_3c[1];
                  *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_168;
                  *(undefined4 *)(puVar35 + -0x10) = uVar18;
                  *(uint *)(puVar35 + -0x14) =
                       uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                       uVar36 << 0x18;
                  *(uint *)(puVar35 + -0x18) =
                       uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                       uVar40 << 0x18;
                  *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                  *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                  *(undefined4 *)(puVar35 + -0x24) = 0x8541d;
                  FUN_000d1b10();
                }
                else {
                  cStack_1b1 = bVar48 || bVar45;
                  uVar40 = CONCAT31(uVar32,cStack_1b1);
                  if (!bVar48 && !bVar45) {
                    if ((undefined1 *)0x1 < (undefined1 *)((int)&pEStack_174[-3].e_flags + 1U)) {
                      if ((*(byte *)((int)pdStack_188 + 0xb) & 0x40) != 0) {
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0x849c9;
                        cVar12 = FUN_0004f780();
                        uVar40 = extraout_EDX_01;
                        if (cVar12 == '\0') goto LAB_0008493d;
                      }
                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) &&
                         ((*(byte *)(iStack_48 + 8) & 2) != 0)) {
                        iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 8);
                        if (iVar20 == 0) {
                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;
                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87ebf;
                          FUN_000da200();
                        }
                        if ((*(char *)(iVar20 + 0x1a25) != '\0') ||
                           (*(char *)(iVar20 + 0x2931) != '\0')) goto LAB_000846f8;
                        *(undefined4 *)(puVar35 + -4) = 0x86798;
                        uVar36 = FUN_00051ac0();
                        if ((char)uVar36 != '\0') goto LAB_000846f8;
                        pEVar29 = *(Elf32_Ehdr **)(iStack_48 + 0x28);
                        if (pEVar29 == (Elf32_Ehdr *)0x0) {
                          *(int *)(puVar35 + -4) = iVar20;
                          *(word **)(puVar35 + -8) = &pEStack_154[-0x582a].e_type;
                          *(undefined4 *)(puVar35 + -0xc) = 0x3a3;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x8815d;
                          FUN_000da200();
                        }
                        pEStack_84 = pEStack_16c;
                        *(undefined4 *)(puVar35 + -4) = 0x867c9;
                        uVar51 = FUN_00054670();
                        uVar40 = (uint)((ulonglong)uVar51 >> 0x20);
                        piVar25 = extraout_ECX_00;
                        if ((int)uVar51 != 0) {
                          uStack_1b0 = *(uint *)((int)uVar51 + 8);
                          uStack_1ac = 0;
                          bVar27 = (byte)pEVar29->e_phoff;
                          if ((bVar27 & 2) == 0) {
                            *(uint *)(puVar35 + -4) = uVar36;
                            *(word **)(puVar35 + -8) = &pEStack_154[-0x582b].e_phnum;
                            *(undefined4 *)(puVar35 + -0xc) = 0x1437;
                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x8813e;
                            FUN_000da200();
                          }
                          puStack_194 = (undefined *)
                                        (CONCAT31(puStack_194._1_3_,bVar27) & 0xffffff01);
                          if ((bVar27 & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -4) = 0x8811f;
                            FUN_00052f10();
                          }
                          uStack_1d8 = *(uint *)&pEVar29->e_ident_class;
                          iStack_1d4 = *(int *)&pEVar29->e_ident_abiversion;
                          if (*(char *)(iVar20 + 0x2b1c) == '\0') {
                            uVar40 = 0xffffffe0;
                            iVar20 = 0x20;
                          }
                          else {
                            iVar20 = 1 << ((byte)*(undefined4 *)(iVar20 + 0x2b20) & 0x1f);
                            uVar40 = -iVar20;
                          }
                          uVar40 = uVar40 & pEVar29[1].e_entry + iVar20 + -1;
                          pEVar29 = (Elf32_Ehdr *)(iStack_1d4 + (uint)CARRY4(uStack_1b0,uStack_1d8))
                          ;
                          uStack_128._4_4_ =
                               (Elf32_Ehdr *)
                               (pEVar29->e_ident_magic_str +
                               (CARRY4(uVar40,uStack_1d8 + uStack_1b0) - 1));
                          lVar52 = CONCAT44(uStack_128._4_4_,uStack_1d8 + uStack_1b0 + uVar40);
                          goto LAB_000847e7;
                        }
LAB_00084930:
                        if ((*(byte *)(local_34 + 0x54) & 2) != 0) goto LAB_00087e84;
                        goto LAB_0008493d;
                      }
LAB_000846f8:
                      piVar25 = *(int **)(iStack_48 + 0x50);
                      piVar4 = *(int **)(iStack_48 + 0x4c);
                      if (((int)piVar25 - (int)piVar4 == 4) && (*piVar4 != 0)) {
LAB_0008471b:
                        uVar36 = puStack_3c[4];
                        uVar40 = puStack_3c[5];
                        auStack_7c._4_4_ =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        auStack_7c._0_4_ =
                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                             uVar40 << 0x18;
                        if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                          pEStack_80 = pEStack_178;
                          pEStack_84 = (Elf32_Ehdr *)0x0;
                          pEStack_74 = pEStack_17c;
                          pEVar29 = pEStack_17c;
                        }
                        else {
                          pEStack_84 = pEStack_16c;
                          pEStack_80 = (Elf32_Ehdr *)0x0;
                          pEStack_74 = (Elf32_Ehdr *)0x0;
                        }
                        *(undefined4 *)(puVar35 + -4) = 0x84761;
                        FUN_0004ddc0();
                        iVar20 = iStack_14c;
                        puVar2 = (uint *)(iStack_14c + 0x18);
                        piVar25 = extraout_ECX;
                        uVar40 = extraout_EDX_00;
                        if (iStack_14c != 0) {
                          *(undefined4 *)(puVar35 + -4) = 0x84779;
                          lVar52 = FUN_00056c10();
                          lVar9 = lVar52 + (ulonglong)*puVar2;
                          bVar27 = *(byte *)(iVar20 + 0x1f);
                          pEVar29 = (Elf32_Ehdr *)((ulonglong)lVar9 >> 0x20);
                          uStack_128._4_4_ = pEVar29;
                          puStack_194._0_1_ = bVar27;
                          lVar52 = CONCAT44((int)((ulonglong)lVar52 >> 0x20),(int)lVar9);
                          if ((bVar27 & 0x40) != 0) {
                            uVar36 = *(uint *)(*(int *)&local_44->e_type + 0x20);
                            uVar40 = *(uint *)(*(int *)&local_44->e_type + 0x24);
                            *(undefined4 *)(puVar35 + -4) = 0;
                            *(undefined4 *)(puVar35 + -8) = 0x18;
                            *(uint *)(puVar35 + -0xc) =
                                 uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8
                                 | uVar36 << 0x18;
                            *(uint *)(puVar35 + -0x10) =
                                 uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8
                                 | uVar40 << 0x18;
                            *(undefined4 *)(puVar35 + -0x14) = 0x847bc;
                            uStack_128 = lVar9;
                            puVar21 = (undefined1 *)FUN_002dcbb0();
                            pcVar1 = pEStack_170->e_ident_magic_str;
                            lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128);
                            if ((pcVar1 < puVar21) &&
                               (lVar52 = CONCAT44(pcVar1,(Elf32_Ehdr *)uStack_128),
                               puStack_3c[9] == 0x6d000000)) {
                              uVar36 = puStack_3c[6];
                              uVar40 = puStack_3c[1];
                              uVar16 = puStack_3c[7];
                              uStack_1d0 = *puStack_3c;
                              uStack_1d8 = uVar16 >> 0x18 | (uVar16 & 0xff0000) >> 8 |
                                           (uVar16 & 0xff00) << 8 | uVar16 << 0x18;
                              uVar40 = uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 |
                                       (uVar40 & 0xff00) << 8 | uVar40 << 0x18;
                              uVar16 = (uStack_1d0 >> 0x18 | (uStack_1d0 & 0xff0000) >> 8 |
                                        (uStack_1d0 & 0xff00) << 8 | uStack_1d0 << 0x18) +
                                       (uint)(0xfffffffb < uVar40);
                              lVar52 = CONCAT44(uVar16,(Elf32_Ehdr *)uStack_128);
                              if ((uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 |
                                   (uVar36 & 0xff00) << 8 | uVar36 << 0x18) == uVar16 &&
                                  uStack_1d8 == uVar40 + 4) {
                                lVar52 = lVar9 + 4;
                                uStack_128._4_4_ = (Elf32_Ehdr *)((ulonglong)lVar52 >> 0x20);
                              }
                            }
                          }
                          bVar27 = (byte)puStack_194;
                          puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,(char)uStack_1b0);
                          uVar36 = (uint)(bVar27 >> 7);
                          goto LAB_000847e7;
                        }
                        goto LAB_00084930;
                      }
                      puStack_194 = *(undefined **)&pEStack_178[8].e_ident_abiversion;
                      uVar40 = local_44->e_entry;
                      pEVar29 = local_44;
                      if ((uint)((int)puStack_194 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=
                          uVar40) {
LAB_0008491d:
                        if ((piVar4 == piVar25) || (*piVar4 == 0)) goto LAB_00084930;
                        goto LAB_0008471b;
                      }
                      iVar20 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);
                      if (iVar20 != 0) {
                        uVar36 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class + uVar40 * 4);
                        uVar40 = *(uint *)(iVar20 + 0x4c);
                        if ((uVar36 < (uint)((int)(*(int *)(iVar20 + 0x50) - uVar40) >> 2)) &&
                           (*(int *)(uVar40 + uVar36 * 4) != 0)) goto LAB_0008471b;
                        goto LAB_0008491d;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x87e7f;
                      FUN_00053680();
LAB_00087e7f:
                      *(undefined4 *)(puVar35 + -4) = 0x87e84;
                      FUN_00051e10();
                      piVar25 = extraout_ECX_02;
LAB_00087e84:
                      *(int **)(puVar35 + -4) = piVar25;
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0x230e;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87ea3;
                      FUN_000da200();
                    }
LAB_0008493d:
                    lVar52 = CONCAT44(uVar40,(Elf32_Ehdr *)uStack_128);
                    cVar12 = '\0';
                    puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);
                    if ((undefined1 *)0x3 < (undefined1 *)((int)&pEStack_174[-1].e_flags + 2U))
                    goto LAB_000847f9;
                    goto LAB_00084960;
                  }
                  if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                    pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[4].e_type;
                    pEVar44 = (Elf32_Ehdr *)
                              (((int)pEStack_174 - *(int *)(pEStack_178[4].e_ident_pad + 3) >> 2) *
                              -0x33333333);
                    if (pEVar44 < pEStack_17c || (int)pEVar44 - (int)pEStack_17c == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0x87e08;
                      pEVar17 = (Elf32_Ehdr *)FUN_000538e0();
LAB_00087e08:
                      pEVar44 = pEStack_154;
                      *(Elf32_Ehdr **)(puVar35 + -4) = pEVar17;
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEVar44 + -0x57f3;
                      *(undefined4 *)(puVar35 + -0xc) = 0x50b;
                      *(word **)(puVar35 + -0x10) = &pEVar44[-0x57ba].e_type;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87e27;
                      FUN_000da200();
                    }
                    if ((*(byte *)(*(int *)(pEStack_178[4].e_ident_pad + 3) +
                                  (int)pEStack_17c * 0x14 + 0xb) & 0x40) == 0) {
                      iVar20 = *(int *)(iStack_48 + 0x20);
                    }
                    else {
                      iVar20 = *(int *)(iStack_48 + 0x1c);
                      if (iVar20 == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x87f11;
                        uVar36 = FUN_00051db0();
                        uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                        goto LAB_00087f11;
                      }
                    }
                    puVar30 = *(undefined **)pEStack_178;
                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_17c;
                    *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;
                    pcVar3 = *(code **)(puVar30 + 0xa8);
                    *(undefined4 *)(puVar35 + -0x14) = 0x855b9;
                    uVar36 = (*pcVar3)();
LAB_000851d9:
                    uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c71;
                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar36;
                      FUN_000da200();
                    }
                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 + *(uint *)(iVar20 + 4));
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)
                         (*(int *)(iVar20 + 8) + (uint)CARRY4(uVar36,*(uint *)(iVar20 + 4)));
                    if (*(int *)(iStack_48 + 0x14) == 0) {
                      *(undefined4 *)(puVar35 + -4) = 0x87c97;
                      FUN_00051e10();
                      goto LAB_00087c97;
                    }
                    iVar20 = *(int *)(*(int *)(iStack_48 + 0x14) + 0x20);
                    if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87c92;
                      FUN_000da200();
                    }
                    bVar45 = (Elf32_Ehdr *)uStack_128 < *(uint *)(iVar20 + 4);
                    uVar36 = (int)(Elf32_Ehdr *)uStack_128 - *(uint *)(iVar20 + 4);
                    uStack_128._0_4_ = (Elf32_Ehdr *)(uVar36 - 0x8000);
                    uStack_128._4_4_ =
                         (Elf32_Ehdr *)
                         ((int)uStack_128._4_4_ +
                         (uint)(0x7fff < uVar36) + (-(uint)bVar45 - *(int *)(iVar20 + 8)) + -1);
                    goto LAB_0008524b;
                  }
                  bVar27 = (byte)pEStack_16c->e_ehsize;
                  pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);
                  if ((bVar27 & 0xf) != 10) {
LAB_000851b9:
                    iVar20 = *(int *)(iStack_48 + 0x18);
                    if (iVar20 != 0) {
LAB_000851c7:
                      uVar36 = pEStack_16c->e_entry;
                      if (uVar36 != 0xffffffff) goto LAB_000851d9;
                      *(undefined4 *)(puVar35 + -4) = 0x87cba;
                      FUN_00052ee0();
                    }
                    *(undefined4 *)(puVar35 + -4) = 0x87cbf;
                    FUN_00051de0();
                    goto LAB_00087cbf;
                  }
                  *(undefined4 *)(puVar35 + -0xc) = 0;
                  *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                  *(undefined4 *)(puVar35 + -0x14) = 0x86630;
                  cVar12 = FUN_000a8040();
                  if (cVar12 == '\0') goto LAB_000851b9;
                  iVar20 = *(int *)(iStack_48 + 0x1c);
                  if (iVar20 != 0) goto LAB_000851c7;
                  *(undefined4 *)(puVar35 + -4) = 0x8664e;
                  FUN_00051db0();
                  lVar52 = CONCAT44(extraout_EDX_03,(Elf32_Ehdr *)uStack_128);
LAB_00086650:
                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                  pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_entry + 1);
                  cVar12 = '\x01';
                  pEStack_1a4 = pEVar38;
                  if (pEVar38 < (Elf32_Ehdr *)0x4) {
LAB_0008666f:
                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                    iVar20 = *(int *)(*(int *)pbVar33 + 8);
                    if (iVar20 == 0) {
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -4) = 0x87ec4;
                      FUN_00052750();
                    }
                    if ((*(char *)(iVar20 + 0x1a25) != '\0') || (*(char *)(iVar20 + 0x3ef5) == '\0')
                       ) {
                      uStack_1b0 = 0;
                      dVar39 = 1;
LAB_000866d7:
                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(dword *)(puVar35 + -0x18) = dVar39;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xac);
                        *(undefined4 *)(puVar35 + -0x24) = 0x86ae5;
                        cVar12 = (*pcVar3)();
                        if (cVar12 == '\0') {
                          *(dword *)(puVar35 + -4) = dVar39;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x23a6;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87f48;
                          FUN_000da200();
                        }
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(dword *)(puVar35 + -0x18) = dVar39;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xb0);
                        *(undefined4 *)(puVar35 + -0x24) = 0x86b0d;
                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                      }
                      else {
                        pdVar23 = &pEStack_16c->e_phoff;
                        while (*pdVar23 != dVar39) {
                          pdVar23 = (dword *)pdVar23[2];
                          if (pdVar23 == (dword *)0x0) goto LAB_000866ff;
                        }
                        if (pdVar23[1] == 0xffffffff) {
LAB_000866ff:
                          *(Elf32_Ehdr **)(puVar35 + -4) = pEVar44;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x23a1;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x8671e;
                          FUN_000da200();
                        }
                        *(dword *)(puVar35 + -0xc) = dVar39;
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86bd1;
                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      iVar20 = *(int *)(iStack_48 + 0x14);
                      if (iVar20 == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x87eed;
                        FUN_00051e10();
LAB_00087eed:
                        *(byte **)(puVar35 + -4) = pbVar33;
                        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                        *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                        *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -0x14) = 0x87f0c;
                        FUN_000da200();
                      }
                      iVar15 = *(int *)(iVar20 + 0x20);
                      if ((*(byte *)(iVar15 + 0x1c) & 1) == 0) goto LAB_00087eed;
                      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
                    /* WARNING: Subroutine does not return */
                        *(undefined4 *)(puVar35 + -4) = 0x87ee8;
                        FUN_00052f10();
                      }
                      uVar36 = ((int)(Elf32_Ehdr *)uStack_128 - 0x8000U) + *(uint *)(iVar20 + 4);
                      pEVar17 = (Elf32_Ehdr *)(uVar36 - *(uint *)(iVar15 + 4));
                      pEVar44 = (Elf32_Ehdr *)
                                (((((0x7fff < (Elf32_Ehdr *)uStack_128) - 1) + *(int *)(iVar20 + 8)
                                  + (uint)CARRY4((int)(Elf32_Ehdr *)uStack_128 - 0x8000U,
                                                 *(uint *)(iVar20 + 4))) - *(int *)(iVar15 + 8)) -
                                (uint)(uVar36 < *(uint *)(iVar15 + 4)));
                      uVar53 = CONCAT44(pEVar44,pEVar17);
                      if (uStack_1b0 != 3) {
                        uStack_128._0_4_ = pEVar17;
                        uStack_128._4_4_ = pEVar44;
                        if (uStack_1b0 != 2) goto LAB_0008524b;
                        goto LAB_000866a2;
                      }
                      if (pEStack_1a4 < (Elf32_Ehdr *)0x2) {
                        *(uint *)&pEStack_160[-1].e_shstrndx =
                             *(uint *)&pEStack_160[-1].e_shstrndx & 0xff03 | 0xe8;
                      }
                      pEStack_168 = (Elf32_Ehdr *)&pEStack_174->e_ident_abiversion;
                      uVar10 = uVar53;
                      goto LAB_000852e8;
                    }
                    if (cVar12 == '\0') {
                      uStack_1b0 = 3;
                      dVar39 = 3;
                      goto LAB_000866d7;
                    }
LAB_000866a2:
                    uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((Elf32_Ehdr *)0x1 < pEStack_1a4) goto LAB_000866af;
                    pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                    *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;
                    uVar36 = puStack_3c[4];
                    uVar40 = puStack_3c[5];
                    *(uint *)(puVar35 + -4) =
                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18;
                    *(uint *)(puVar35 + -8) =
                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18;
                    *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                    *(dword **)(puVar35 + -0x10) = pdStack_188;
                    *(undefined4 *)(puVar35 + -0x14) = 0x8726c;
                    lVar52 = FUN_000a9dc0();
                    uVar10 = lVar52 - 0x7000;
LAB_0008620b:
                    uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                    uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                    if (*(int *)(*(int *)pbVar33 + 8) == 0) {
                      *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                      *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87cfb;
                      uStack_128 = uVar10;
                      FUN_000da200();
                    }
                    uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;
                    if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x3ef5) == '\0') {
                      if ((uVar36 & 0xfc000000) == 0x28000000) {
                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;
                        uStack_128._4_4_ = pEVar44;
                      }
                      else {
LAB_0008614e:
                        uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                        uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                        uVar40 = (int)(Elf32_Ehdr *)uStack_128 + 0x8000;
                      }
                    }
                    else {
                      uVar40 = (uint)(uVar10 + 0x8000);
                      iVar20 = (int)(uVar10 + 0x8000 >> 0x20);
                      if ((iVar20 == 0 && (uint)(0xffff < uVar40) <= (uint)-iVar20) &&
                         (pEVar44 = uStack_128._4_4_,
                         (((*(uint *)&pEStack_160[-1].e_shstrndx & 0xff00) << 8 | uVar36) &
                         0xfc1f0000) == 0x3c0d0000)) goto LAB_000866af;
                      if ((uVar36 & 0xfc000000) != 0x28000000) goto LAB_0008614e;
                    }
                    uVar14 = (ushort)(uVar40 >> 0x10);
                    uVar14 = uVar14 << 8 | uVar14 >> 8;
                    pEStack_160->e_ident_magic_num = (char)uVar14;
                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                    pEVar29 = uStack_128._4_4_;
                    uStack_128 = uVar10;
                    goto LAB_000840c8;
                  }
LAB_00084855:
                  pEVar29 = local_44;
                  pEVar17 = pEStack_178;
                  uStack_128._0_4_ = (Elf32_Ehdr *)lVar52;
                  puVar21 = (undefined1 *)((int)&pEStack_174[-2].e_version + 1);
                  if ((undefined1 *)0x3 < puVar21) {
                    if (pEStack_174[-2].e_ident_pad + 4 < (byte *)0x4) {
                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 2;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xac);
                        *(undefined4 *)(puVar35 + -0x24) = 0x87376;
                        uVar18 = (*pcVar3)();
                        pEVar44 = pEStack_178;
                        if ((char)uVar18 == '\0') {
                          *(undefined4 *)(puVar35 + -4) = uVar18;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x2409;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined **)(puVar35 + -0x14) = &UNK_000881a0;
                          FUN_000da200();
                        }
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 2;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xb0);
                        *(undefined4 *)(puVar35 + -0x24) = 0x8739f;
                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                        pEVar38 = pEVar17;
                      }
                      else {
                        pdVar23 = &pEStack_16c->e_phoff;
                        while (*pdVar23 != 2) {
                          pdVar23 = (dword *)pdVar23[2];
                          if (pdVar23 == (dword *)0x0) goto LAB_000848a0;
                        }
                        if (pdVar23[1] == 0xffffffff) {
LAB_000848a0:
                          *(int *)(puVar35 + -4) = (int)((ulonglong)lVar52 >> 0x20);
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x2404;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x848bf;
                          FUN_000da200();
                        }
                        *(undefined4 *)(puVar35 + -0xc) = 2;
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x86f5a;
                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      if (*(int *)(iStack_48 + 0x14) == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x87f4d;
                        FUN_00051e10();
                        uVar18 = extraout_ECX_03;
                        goto LAB_00087f4d;
                      }
LAB_00086f7b:
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      *(undefined4 *)(puVar35 + -4) = 0x86f80;
                      uVar51 = FUN_000530e0();
                      pwVar24 = &pEStack_174[-1].e_phentsize;
                      uVar53 = CONCAT44(pEVar44,pEVar38);
                      uStack_128 = CONCAT44(((int)uStack_128._4_4_ -
                                            (int)((ulonglong)uVar51 >> 0x20)) -
                                            (uint)((Elf32_Ehdr *)uStack_128 < (uint)uVar51),
                                            (int)(Elf32_Ehdr *)uStack_128 - (uint)uVar51);
                      goto LAB_00086f95;
                    }
                    pEVar38 = (Elf32_Ehdr *)((int)&pEStack_174[-2].e_type + 1);
                    if (pEVar38 < (Elf32_Ehdr *)0x4) {
                      if (pEStack_16c != (Elf32_Ehdr *)0x0) {
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x869bf;
                        FUN_001e6ba0();
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x869ca;
                      iVar20 = FUN_00054e10();
                      pEVar17 = pEStack_178;
                      uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                      if (iVar20 != 0) {
                        if (iVar20 != 2) {
                          *(int *)(puVar35 + -4) = iVar20;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x2426;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x88181;
                          FUN_000da200();
                        }
                        if (pEVar38 < (Elf32_Ehdr *)0x2) {
                          pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                          *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;
                          uVar36 = puStack_3c[4];
                          uVar40 = puStack_3c[5];
                          *(uint *)(puVar35 + -4) =
                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18;
                          *(uint *)(puVar35 + -8) =
                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar40 << 0x18;
                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                          *(dword **)(puVar35 + -0x10) = pdStack_188;
                          *(undefined4 *)(puVar35 + -0x14) = 0x8740e;
                          lVar52 = FUN_000a9dc0();
                          uVar10 = lVar52 - 0x7000;
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          goto LAB_0008620b;
                        }
                        goto LAB_000866af;
                      }
                      if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 3;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xac);
                        *(undefined4 *)(puVar35 + -0x24) = 0x8776e;
                        uVar18 = (*pcVar3)();
                        if ((char)uVar18 == '\0') {
                          *(undefined4 *)(puVar35 + -4) = uVar18;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x241f;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x880d5;
                          FUN_000da200();
                        }
                        puVar30 = *(undefined **)pEStack_178;
                        *(undefined4 *)(puVar35 + -0x10) = 0;
                        *(undefined4 *)(puVar35 + -0x14) = 0;
                        *(undefined4 *)(puVar35 + -0x18) = 3;
                        *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_17c;
                        *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_178;
                        pcVar3 = *(code **)(puVar30 + 0xb0);
                        *(undefined4 *)(puVar35 + -0x24) = 0x87797;
                        uStack_128._0_4_ = (Elf32_Ehdr *)(*pcVar3)();
                      }
                      else {
                        pdVar23 = &pEStack_16c->e_phoff;
                        while (*pdVar23 != 3) {
                          pdVar23 = (dword *)pdVar23[2];
                          if (pdVar23 == (dword *)0x0) goto LAB_000869f8;
                        }
                        if (pdVar23[1] == 0xffffffff) {
LAB_000869f8:
                          *(dword **)(puVar35 + -4) = pdVar23;
                          *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                          *(undefined4 *)(puVar35 + -0xc) = 0x241a;
                          *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                          *(undefined **)(puVar35 + -0x14) = &UNK_00086a17;
                          FUN_000da200();
                        }
                        *(undefined4 *)(puVar35 + -0xc) = 3;
                        *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                        *(undefined4 *)(puVar35 + -0x14) = 0x8749a;
                        uStack_128._0_4_ = (Elf32_Ehdr *)FUN_000a7860();
                        pEVar17 = pEVar44;
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                      pEVar44 = pEVar17;
                      if (*(int *)(iStack_48 + 0x14) == 0) {
                        *(undefined4 *)(puVar35 + -4) = 0x874c0;
                        FUN_00051e10();
                        goto LAB_000874c0;
                      }
                      goto LAB_00086f7b;
                    }
                    if (pEStack_174 != (Elf32_Ehdr *)0x6b) {
                      if (pEStack_174 == (Elf32_Ehdr *)0x6c) {
                        uVar36 = *puStack_3c;
                        uVar40 = puStack_3c[1];
                        EStack_104.e_type = 1;
                        EStack_104.e_machine = 0;
                        EStack_104.e_version = (dword)local_44;
                        EStack_104.e_shoff =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        EStack_104.e_phoff =
                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                             uVar40 << 0x18;
                        EStack_104.e_entry = (dword)pEStack_170;
                        *(undefined4 *)(puVar35 + -4) = 0x877ef;
                        iVar20 = FUN_00052880();
                        if (iVar20 != 2) goto LAB_000840c8;
                        pEStack_168 = (Elf32_Ehdr *)0x46;
                        *(undefined **)pEStack_160 = (undefined *)0x6338;
                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);
                        EStack_104.e_type = 2;
                        EStack_104.e_machine = 0;
                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                        uVar10 = 0x1000;
                        goto LAB_000860cc;
                      }
                      if (pEStack_174 == (Elf32_Ehdr *)0x43) {
                        if (pEStack_16c != (Elf32_Ehdr *)0x0) {
                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                          *(undefined4 *)(puVar35 + -0x14) = 0x876a5;
                          FUN_001e6ba0();
                        }
                        *(undefined4 *)(puVar35 + -4) = 0x876b0;
                        iVar20 = FUN_00054e10();
                        pEVar29 = pEVar44;
                        if (iVar20 == 2) {
                          if (((undefined1  [52])*pEStack_160 & (undefined1  [52])0xfc) !=
                              (undefined1  [52])0x7c) {
LAB_00087a01:
                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                            *(undefined4 *)(puVar35 + -0xc) = 0x247a;
                            *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87a22;
                            FUN_000da200();
                          }
                          *(undefined4 *)(puVar35 + -4) = 0x876e1;
                          uVar36 = FUN_00051ae0();
                          if (uVar36 == 0) goto LAB_00087a01;
                          *(undefined **)pEStack_160 =
                               (undefined *)
                               (uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18);
                          pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);
                          uVar36 = puStack_3c[4];
                          uVar40 = puStack_3c[5];
                          *(uint *)(puVar35 + -4) =
                               uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                               uVar36 << 0x18;
                          *(uint *)(puVar35 + -8) =
                               uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                               uVar40 << 0x18;
                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                          *(dword **)(puVar35 + -0x10) = pdStack_188;
                          *(undefined4 *)(puVar35 + -0x14) = 0x8771c;
                          lVar52 = FUN_000a9dc0();
                          pEStack_168 = (Elf32_Ehdr *)0x46;
                          uVar10 = lVar52 - 0x7000;
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          goto LAB_000860cc;
                        }
                        goto LAB_000840c8;
                      }
                      if ((byte)puStack_194 != '\0') goto LAB_00086d80;
                      if ((pEStack_174 == (Elf32_Ehdr *)0x78) && (cStack_1b1 != '\0')) {
                        pEStack_168 = (Elf32_Ehdr *)0xa;
                        *(undefined **)pEStack_160 =
                             (undefined *)
                             (((uint)*(undefined **)pEStack_160 >> 0x18 & 1) << 0x18 | 0x48);
                      }
                      uVar36 = puStack_3c[4];
                      uVar40 = puStack_3c[5];
                      *(uint *)(puVar35 + -4) =
                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                           uVar36 << 0x18;
                      *(uint *)(puVar35 + -8) =
                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                           uVar40 << 0x18;
                      *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                      *(dword **)(puVar35 + -0x10) = pdStack_188;
                      *(undefined4 *)(puVar35 + -0x14) = 0x8708e;
                      uVar53 = FUN_000a9dc0();
                      *(undefined4 *)(puVar35 + -4) = 0x870ac;
                      uStack_128 = uVar53;
                      cVar12 = FUN_00051ac0();
                      uVar10 = uStack_128;
                      if (cVar12 != '\0') {
                        if ((*(byte *)(iStack_48 + 8) & 2) == 0) {
                          *(undefined1 **)(puVar35 + -8) = auStack_134;
                          *(undefined8 **)(puVar35 + -0xc) = &uStack_128;
                          *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_178;
                          *(undefined4 *)(puVar35 + -0x14) = 0x87b7b;
                          FUN_0007c1b0();
                          uVar10 = uStack_128;
                        }
                        else {
                          if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                            bVar27 = (byte)((int)(uint)(byte)pEStack_17c->e_ident_magic_str
                                                             [*(int *)&pEStack_178[8].e_type + -1]
                                           >> 5);
                          }
                          else {
                            bVar27 = *(byte *)((int)&pEStack_16c->e_ehsize + 1);
                            pEStack_174 = (Elf32_Ehdr *)CONCAT31(pEStack_174._1_3_,bVar27);
                            bVar27 = bVar27 >> 5;
                          }
                          uVar10 = uVar53 + (1 << bVar27 & 0xfffffffc);
                        }
                      }
                      uStack_128._4_4_ = (Elf32_Ehdr *)(uVar10 >> 0x20);
                      iVar20 = (int)uStack_128._4_4_;
                      uStack_128._0_4_ = (Elf32_Ehdr *)uVar10;
                      uVar36 = (uint)(Elf32_Ehdr *)uStack_128;
                      uStack_128 = uVar10;
                      if ((undefined1 *)((int)&pEStack_168[-1].e_ehsize + 1U) < (undefined1 *)0x3) {
                        uVar40 = 0x8000;
                        pEStack_174 = &Elf32_Ehdr_00010000;
                      }
                      else {
                        pwVar24 = &pEStack_168[-1].e_phentsize;
                        if (((uint)pwVar24 & 0xfffffff7) != 0 && pEStack_168 != (Elf32_Ehdr *)0x17)
                        {
                          puStack_194 = (undefined *)((uint)puStack_194 & 0xffffff00);
                          goto LAB_00086f95;
                        }
                        pEStack_174 = (Elf32_Ehdr *)0x4000000;
                        uVar40 = 0x2000000;
                      }
                      pdStack_188 = (dword *)0x0;
                      lVar52 = (uVar10 - CONCAT44(iStack_19c,uStack_1a0)) + (ulonglong)uVar40;
                      uVar11 = uVar10;
                      if ((uint)((ulonglong)lVar52 >> 0x20) <
                          (uint)((Elf32_Ehdr *)lVar52 < pEStack_174)) {
LAB_000879b4:
                        pwVar24 = &pEStack_168[-1].e_phentsize;
                        uVar53 = uVar10;
                        uStack_128 = uVar11;
                        goto LAB_00086f95;
                      }
                      pEStack_174 = *(Elf32_Ehdr **)&pEStack_178[8].e_ident_abiversion;
                      if ((uint)((int)pEStack_174 - *(int *)&pEStack_178[8].e_ident_class >> 2) <=
                          local_44->e_entry) goto LAB_000879b4;
                      iVar15 = *(int *)(*(int *)&pEStack_154[0x18].e_ident_abiversion + 0xc);
                      if (iVar15 != 0) {
                        uVar40 = *(uint *)(*(int *)&pEStack_178[8].e_ident_class +
                                          local_44->e_entry * 4);
                        if ((uVar40 < (uint)(*(int *)(iVar15 + 0x50) - *(int *)(iVar15 + 0x4c) >> 2)
                            ) && (iVar15 = *(int *)(*(int *)(iVar15 + 0x4c) + uVar40 * 4),
                                 iVar15 != 0)) {
                          pEStack_174 = &EStack_104;
                          *(uint *)(puVar35 + -0x10) = (uint)(Elf32_Ehdr *)uStack_128 ^ 0x8000;
                          EStack_104.e_ident_pad[3] = 0;
                          EStack_104.e_ident_abiversion = 0;
                          EStack_104.e_ident_pad[0] = 0x80;
                          EStack_104.e_ident_pad[1] = 0;
                          EStack_104.e_ident_pad[2] = 0;
                          *(undefined4 *)(puVar35 + -0x14) = 0x87ace;
                          EStack_104._0_8_ = uVar10;
                          piVar25 = (int *)FUN_0004dfd0();
                          uVar11 = uStack_128;
                          if ((piVar25 != (int *)0x0) && (iVar5 = *piVar25, iVar5 != 0)) {
                            if (*(char *)(iVar5 + 0x10) == '\0') {
                              uVar40 = *(uint *)(iVar5 + 0x14);
                              uVar36 = 0;
                            }
                            else {
                              iVar5 = *(int *)(*(int *)(iVar15 + 0x34) + 0xac);
                              if ((*(byte *)(iVar5 + 0x1c) & 1) == 0) {
                                *(int *)(puVar35 + -4) = *(int *)(iVar15 + 0x34);
                                *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f2].e_phoff;
                                *(undefined4 *)(puVar35 + -0xc) = 0xc5;
                                *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57ba].e_flags;
                    /* WARNING: Subroutine does not return */
                                *(undefined4 *)(puVar35 + -0x14) = 0x880b6;
                                FUN_000da200();
                              }
                              uVar16 = uVar36 + *(uint *)(iVar15 + 0x7c);
                              uVar40 = uVar16 - *(uint *)(iVar5 + 4);
                              uVar36 = iVar20 + (((uint)CARRY4(uVar36,*(uint *)(iVar15 + 0x7c)) -
                                                 *(int *)(iVar5 + 8)) -
                                                (uint)(uVar16 < *(uint *)(iVar5 + 4)));
                              uVar10 = CONCAT44(uVar36,uVar40);
                              if ((uVar36 & uVar40) == 0xffffffff) goto LAB_000879b4;
                            }
                            *(undefined4 *)(puVar35 + -4) = 0x87b23;
                            lVar52 = FUN_00056c10();
                            puStack_194 = (undefined *)CONCAT31(puStack_194._1_3_,1);
                            pwVar24 = &pEStack_168[-1].e_phentsize;
                            uVar53 = lVar52 + CONCAT44(uVar36,uVar40);
                            uStack_128 = lVar52 + CONCAT44(uVar36,uVar40) +
                                         (ulonglong)*(uint *)(iVar15 + 0x74);
                            goto LAB_00086f95;
                          }
                        }
                        goto LAB_000879b4;
                      }
                      *(undefined4 *)(puVar35 + -4) = 0x87ff7;
                      FUN_00053680();
                      uVar10 = uStack_128;
LAB_00087ff7:
                      uVar36 = *(int *)&pEStack_160[-1].e_shstrndx << 0x18;
                      uVar40 = uVar36 & 0xfc000000;
                      if (((uVar40 != 0x28000000) && ((uVar36 & 0xf4000000) != 0x64000000)) &&
                         (uStack_128 = uVar10, uVar40 != 0x74000000)) goto LAB_00085788;
                      goto LAB_0008614e;
                    }
LAB_000874c0:
                    pEVar29 = pEStack_170;
                    uVar36 = *puStack_3c;
                    uVar40 = puStack_3c[1];
                    EStack_104.e_type = 1;
                    EStack_104.e_machine = 0;
                    EStack_104.e_version = (dword)local_44;
                    EStack_104.e_shoff =
                         uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                         uVar36 << 0x18;
                    EStack_104.e_phoff =
                         uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                         uVar40 << 0x18;
                    EStack_104.e_entry = (dword)pEStack_170;
                    if (pEStack_16c == (Elf32_Ehdr *)0x0) {
                      cVar12 = '\x01';
                    }
                    else {
                      *(Elf32_Ehdr **)(puVar35 + -0x10) = pEStack_16c;
                      *(undefined4 *)(puVar35 + -0x14) = 0x87517;
                      cVar12 = FUN_001e6ba0();
                    }
                    pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                    iVar20 = *(int *)(*(int *)pbVar33 + 8);
                    if (iVar20 == 0) {
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -4) = 0x88162;
                      FUN_00052750();
                    }
                    uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    if ((*(char *)(iVar20 + 0x1a25) == '\0') &&
                       (uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128),
                       *(char *)(iVar20 + 0x3ef5) != '\0')) {
                      if (cVar12 != '\0') {
                        *(undefined **)pEStack_160 = (undefined *)0x6338;
                        pEStack_160 = (Elf32_Ehdr *)(pEStack_160->e_ident_magic_str + 1);
                        uVar36 = puStack_3c[4];
                        uVar40 = puStack_3c[5];
                        *(uint *)(puVar35 + -4) =
                             uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                             uVar36 << 0x18;
                        *(uint *)(puVar35 + -8) =
                             uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                             uVar40 << 0x18;
                        *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_178;
                        *(dword **)(puVar35 + -0x10) = pdStack_188;
                        *(undefined4 *)(puVar35 + -0x14) = 0x8758a;
                        lVar52 = FUN_000a9dc0();
                        EStack_104.e_type = 2;
                        EStack_104.e_machine = 0;
                        uVar10 = lVar52 - 0x7000;
                        pEStack_168 = (Elf32_Ehdr *)0x46;
                        goto LAB_000860cc;
                      }
                      *(undefined **)pEStack_160 = (undefined *)0x146a637c;
                      EStack_104.e_type = 2;
                      EStack_104.e_machine = 0;
                      uStack_128 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                    }
                    goto LAB_000840c8;
                  }
                  *(undefined4 *)(puVar35 + -4) = 0x86e6d;
                  iVar20 = FUN_00052880();
                  uVar10 = CONCAT44(uStack_128._4_4_,(Elf32_Ehdr *)uStack_128);
                  if (iVar20 != 0) {
                    uVar18 = extraout_ECX_01;
                    if (iVar20 != 2) {
LAB_00087f4d:
                      *(undefined4 *)(puVar35 + -4) = uVar18;
                      *(dword **)(puVar35 + -8) = &pEStack_154[-0x582a].e_shoff;
                      *(undefined4 *)(puVar35 + -0xc) = 0x23e3;
                      *(dword **)(puVar35 + -0x10) = &pEStack_154[-0x57b9].e_entry;
                    /* WARNING: Subroutine does not return */
                      *(undefined4 *)(puVar35 + -0x14) = 0x87f6c;
                      FUN_000da200();
                    }
                    if (puVar21 < (undefined1 *)0x2) {
                      pEStack_168 = *(Elf32_Ehdr **)&pEStack_160[-1].e_shstrndx;
                      *(uint *)&pEStack_160[-1].e_shstrndx = (uint)pEStack_168 & 0xe003 | 0xd3c;
                      uVar10 = 0x1000;
                      pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                      goto LAB_0008620b;
                    }
                    goto LAB_000866af;
                  }
                  uStack_128._4_4_ = (Elf32_Ehdr *)0x0;
                  uStack_128._0_4_ = *(Elf32_Ehdr **)(iStack_48 + 0x48);
                  if (*(int *)(iStack_48 + 0x14) != 0) goto LAB_00086f7b;
                  *(undefined4 *)(puVar35 + -4) = 0x87159;
                  FUN_00051e10();
LAB_00087160:
                  *(undefined4 *)(puVar35 + -4) = 0x8716c;
                  cVar12 = FUN_0004d340();
                  pEVar17 = pEStack_16c;
                  if (cVar12 != '\0') {
                    iVar20 = (int)(uStack_128 + 0x8000 >> 0x20);
                    uVar10 = uStack_128;
                    if (iVar20 == 0 && (uint)(0xffff < (uint)(uStack_128 + 0x8000)) <= (uint)-iVar20
                       ) {
LAB_00086339:
                      uVar36 = (uint)puVar21 & 0x3e0ffff | 0x38020000;
                      if (((uint)puVar21 & 0xfc000000) != 0x30000000) {
                        uVar36 = (uint)puVar21 & 0xffe0ffff | 0x20000;
                      }
                      *(uint *)&pEStack_160[-1].e_shstrndx =
                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                           uVar36 << 0x18;
                      goto LAB_00085718;
                    }
LAB_00085788:
                    if (pEStack_168 < (Elf32_Ehdr *)0xff) {
                    /* WARNING: Could not recover jumptable at 0x000857a9. Too many branches */
                    /* WARNING: Treating indirect jump as call */
                      pEVar17 = (Elf32_Ehdr *)
                                (*(code *)(pEStack_154->e_ident_magic_str +
                                          *(int *)(pEStack_154->e_ident_magic_str +
                                                  (int)&pEStack_168[-0x16cb].e_ident_osabi * 4 + -1)
                                          + -1))();
                      return pEVar17;
                    }
                    goto LAB_000853db;
                  }
                  uVar36 = *(uint *)&pEStack_160[-1].e_shstrndx << 0x18;
                  uVar14._0_1_ = pEStack_160->e_ident_magic_num;
                  uVar14._1_1_ = pEStack_160->e_ident_magic_str[0];
                  uVar6 = uVar14 >> 8;
                  pEStack_174 = (Elf32_Ehdr *)CONCAT22(pEStack_174._2_2_,uVar14 << 8 | uVar6);
                  uVar14 = (ushort)uStack_128;
                  if (((uVar36 & 0xfc000000) == 0xe0000000) ||
                     (((*(uint *)&pEStack_160[-1].e_shstrndx >> 0x18 | uVar36) & 0xfc000003) ==
                      0xf4000001)) {
                    uVar14 = (uVar6 & 0xf | uVar14 & 0xfff0) << 8 | uVar14 >> 8;
                    pEStack_160->e_ident_magic_num = (char)uVar14;
                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                    pEVar29 = uStack_128._4_4_;
                    if ((uStack_128 & 0xf) != 0) goto LAB_00085810;
                  }
                  else {
                    uVar14 = (uVar6 & 3 | uVar14 & 0xfffc) << 8 | uVar14 >> 8;
                    pEStack_160->e_ident_magic_num = (char)uVar14;
                    pEStack_160->e_ident_magic_str[0] = (char)(uVar14 >> 8);
                    if ((uStack_128 & 3) == 0) {
                      pEVar29 = (Elf32_Ehdr *)0x0;
                    }
                    else {
LAB_00085810:
                      if ((pEStack_16c != (Elf32_Ehdr *)0x0) && ((byte)puStack_194 == '\0')) {
                        bVar27 = (byte)pEStack_16c->e_phentsize;
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                        if ((bVar27 & 7) == 0) {
                          if ((*(int *)(pEStack_16c->e_ident_pad + 3) == 0) &&
                             ((pEStack_16c->e_phentsize & 0x2000) != 0)) {
LAB_00086188:
                            *(undefined4 *)(puVar35 + -4) = 0x86193;
                            cVar12 = FUN_00051ac0();
                            pEVar29 = pEVar17;
                            if (cVar12 != '\0') goto LAB_000840c8;
                          }
                        }
                        else if ((bVar27 & 7) == 4) goto LAB_00086188;
                      }
                      pEVar29 = pEStack_154;
                      *(undefined1 **)(puVar35 + -0x10) =
                           (undefined1 *)((int)&pEStack_154[-0x57ab].e_flags + 3);
                      *(undefined4 *)(puVar35 + -0x14) = 0x85867;
                      uVar18 = gettext();
                      uVar36 = *puStack_3c;
                      uVar40 = puStack_3c[1];
                      *(undefined4 *)(puVar35 + -0x10) = uVar18;
                      *(uint *)(puVar35 + -0x14) =
                           uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                           uVar36 << 0x18;
                      *(uint *)(puVar35 + -0x18) =
                           uVar40 >> 0x18 | (uVar40 & 0xff0000) >> 8 | (uVar40 & 0xff00) << 8 |
                           uVar40 << 0x18;
                      *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                      *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                      *(undefined4 *)(puVar35 + -0x24) = 0x85888;
                      FUN_000d1b10();
                      if ((byte)puStack_194 != '\0') {
                        *(word **)(puVar35 + -0x10) = &pEStack_154[-0x577d].e_type;
                        *(undefined4 *)(puVar35 + -0x14) = 0x858af;
                        uVar18 = gettext();
                        *(undefined4 *)(puVar35 + -0x10) = uVar18;
                        *(undefined4 *)(puVar35 + -0x14) = 0x858b7;
                        FUN_000d1390();
                      }
                    }
                  }
                }
LAB_000840c8:
                pEVar17 = pEStack_154;
                if (pEStack_158 != (Elf32_Ehdr *)0x0) {
                  bVar27 = (byte)pEStack_158->e_phentsize;
                  uVar40 = (uint)bVar27;
                  uVar36 = uVar40 & 7;
                  if ((bVar27 & 7) == 0) {
                    if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&
                       ((pEStack_158->e_phentsize & 0x2000) != 0)) {
LAB_00084399:
                      bVar27 = (byte)uVar40;
                      bVar28 = (byte)pEStack_158->e_ehsize;
                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                      if ((bVar28 >> 4 == 2) || ((pEStack_158->e_phnum & 2) != 0)) {
LAB_00084540:
                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                        uVar16 = bVar27 & 3;
                      }
                      else {
                        pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                        if (*(int *)(*(int *)pbVar33 + 8) == 0) {
                          *(uint *)(puVar35 + -4) = uVar36;
                          *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                          *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                          *(undefined4 *)(puVar35 + -0x14) = 0x87e43;
                          FUN_000da200();
                        }
                        if (*(char *)(*(int *)(*(int *)pbVar33 + 8) + 0x49b1) != '\0')
                        goto LAB_00084540;
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                        if ((char)bVar28 < '\0') {
                          if ((char)uVar36 != '\0') goto LAB_000844bb;
                          pdVar23 = &pEStack_154[-0x10eb9].e_version;
LAB_00084410:
                          pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);
                          if (pcVar3 == (code *)pdVar23) goto LAB_00084114;
                          *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;
                          *(undefined4 *)(puVar35 + -0x14) = 0x8442c;
                          iVar20 = (*pcVar3)();
                          pbVar33 = pbStack_1cc;
                          if (iVar20 != 0) goto LAB_00084261;
LAB_00084440:
                          bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                          uVar16 = bVar27 & 3;
                        }
                        else {
LAB_00084261:
                          piVar25 = *(int **)(*(int *)pbVar33 + 0xc);
                          if (piVar25 == (int *)0x0) {
LAB_00087c97:
                            *(dword **)(puVar35 + -8) = &pEStack_154[-0x5802].e_entry;
                            *(undefined4 *)(puVar35 + -0xc) = 0x69;
                            *(undefined1 **)(puVar35 + -0x10) =
                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87cb5;
                            FUN_000da200();
                          }
                          iVar20 = *piVar25;
                          *(Elf32_Ehdr **)(puVar35 + -0xc) = pEStack_158;
                          *(int **)(puVar35 + -0x10) = piVar25;
                          pcVar3 = *(code **)(iVar20 + 0x1c);
                          *(undefined4 *)(puVar35 + -0x14) = 0x8427d;
                          cVar12 = (*pcVar3)();
                          pEVar17 = pEStack_158;
                          if (cVar12 != '\0') goto LAB_00084440;
                          iVar20 = *(int *)(*(int *)pbVar33 + 8);
                          if (iVar20 == 0) {
LAB_00087cbf:
                            *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                            *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                            *(undefined1 **)(puVar35 + -0x10) =
                                 (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87cdd;
                            FUN_000da200();
                          }
                          pbVar33 = *(byte **)(iVar20 + 0x42e4);
                          bVar45 = false;
                          bVar48 = pbVar33 == (byte *)0x0;
                          if (bVar48) {
                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                            uVar16 = bVar27 & 3;
LAB_00084342:
                            if (((char)uVar16 == '\x02') ||
                               ((*(char *)(iVar20 + 0x1a25) == '\0' ||
                                (*(char *)(iVar20 + 0x4eb5) != '\0')))) {
LAB_0008435c:
                              *(int *)(puVar35 + -0x10) = (int)uStack_190 >> 0x1f;
                              *(uint *)(puVar35 + -0x14) = uStack_190;
                              *(Elf32_Ehdr **)(puVar35 + -0x18) = pEStack_170;
                              *(Elf32_Ehdr **)(puVar35 + -0x1c) = local_44;
                              *(Elf32_Ehdr **)(puVar35 + -0x20) = pEStack_158;
                              *(undefined4 *)(puVar35 + -0x24) = 0x84383;
                              FUN_000d2340();
                              bVar28 = *(byte *)((int)&pEVar17->e_phentsize + 1);
                              goto LAB_0008412d;
                            }
                          }
                          else {
                            iVar15 = 0xb;
                            pbVar37 = pbVar33;
                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_machine;
                            do {
                              pEVar29 = pEVar44;
                              if (iVar15 == 0) break;
                              iVar15 = iVar15 + -1;
                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);
                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;
                              bVar45 = *pbVar37 < bVar27;
                              bVar48 = *pbVar37 == bVar27;
                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;
                              pEVar44 = pEVar29;
                            } while (bVar48);
                            bVar46 = false;
                            bVar45 = (!bVar45 && !bVar48) == bVar45;
                            if (bVar45) goto LAB_00084440;
                            iVar15 = 0xb;
                            pbVar37 = pbVar33;
                            pbVar41 = (byte *)((int)&pEStack_154[-0x5e26].e_phoff + 1);
                            do {
                              if (iVar15 == 0) break;
                              iVar15 = iVar15 + -1;
                              bVar46 = *pbVar37 < *pbVar41;
                              bVar45 = *pbVar37 == *pbVar41;
                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;
                              pbVar41 = pbVar41 + (uint)bVar50 * -2 + 1;
                            } while (bVar45);
                            bVar48 = false;
                            bVar45 = (!bVar46 && !bVar45) == bVar46;
                            if (bVar45) goto LAB_0008435c;
                            iVar15 = 0x17;
                            pbVar37 = pbVar33;
                            pEVar44 = (Elf32_Ehdr *)&pEStack_154[-0x5e26].e_ehsize;
                            do {
                              pEVar29 = pEVar44;
                              if (iVar15 == 0) break;
                              iVar15 = iVar15 + -1;
                              pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);
                              bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;
                              bVar48 = *pbVar37 < bVar27;
                              bVar45 = *pbVar37 == bVar27;
                              pbVar37 = pbVar37 + (uint)bVar50 * -2 + 1;
                              pEVar44 = pEVar29;
                            } while (bVar45);
                            bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                            pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                            uVar16 = bVar27 & 3;
                            bVar45 = (!bVar48 && !bVar45) == bVar48;
                            if ((!bVar45) ||
                               (bVar45 = (pEStack_158->e_phentsize & 0x100) == 0, !bVar45)) {
                              bVar48 = false;
                              iVar15 = 0x16;
                              pEVar44 = (Elf32_Ehdr *)(pEStack_154[-0x5e25].e_ident_pad + 2);
                              do {
                                pEVar29 = pEVar44;
                                if (iVar15 == 0) break;
                                iVar15 = iVar15 + -1;
                                pEVar29 = (Elf32_Ehdr *)((int)pEVar44 + (uint)bVar50 * -2 + 1);
                                bVar27 = (byte)*(word *)&pEVar44->e_ident_magic_num;
                                bVar48 = *pbVar33 < bVar27;
                                bVar45 = *pbVar33 == bVar27;
                                pbVar33 = pbVar33 + (uint)bVar50 * -2 + 1;
                                pEVar44 = pEVar29;
                              } while (bVar45);
                              if (((!bVar48 && !bVar45) != bVar48) ||
                                 ((char)pEStack_158->e_phentsize < '\0')) goto LAB_00084342;
                            }
                          }
                        }
                      }
                      if ((char)uVar16 != '\0') {
                        bVar28 = (byte)pEStack_158->e_phentsize;
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                        uVar36 = bVar28 & 7;
                        bVar27 = (byte)uVar36;
                        if ((bVar28 & 7) != 0) goto LAB_000844d7;
LAB_00084183:
                        if ((*(int *)(pEStack_158->e_ident_pad + 3) == 0) &&
                           ((pEStack_158->e_phentsize & 0x2000) != 0)) {
                          bVar28 = (byte)pEStack_158->e_ehsize;
                          pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                          pEVar29 = pEStack_158;
                          if ((bVar28 >> 4 != 2) && ((pEStack_158->e_phnum & 2) == 0))
                          goto LAB_00084510;
                        }
LAB_0008419a:
                        if ((*(byte *)(*(int *)&pEStack_158->e_ident_abiversion + 0x2c) & 1) == 0)
                        goto LAB_00084595;
LAB_000841ad:
                        bVar27 = (byte)uVar16;
                        if (bVar27 == 2) {
                          *(word **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_type;
                          *(undefined4 *)(puVar35 + -0x14) = 0x86735;
                          uVar18 = gettext();
                        }
                        else if (bVar27 < 3) {
                          if (bVar27 != 1) {
                            *(Elf32_Ehdr **)(puVar35 + -4) = pEVar29;
                            *(byte **)(puVar35 + -8) = &pEStack_154[-0x5802].e_ident_class;
                            *(undefined4 *)(puVar35 + -0xc) = 0xa4;
                            *(byte **)(puVar35 + -0x10) = pEStack_154[-0x57b1].e_ident_pad;
                    /* WARNING: Subroutine does not return */
                            *(undefined4 *)(puVar35 + -0x14) = 0x87de4;
                            FUN_000da200();
                          }
                          *(byte **)(puVar35 + -0x10) = &pEStack_154[-0x57aa].e_ident_osabi;
                          *(undefined4 *)(puVar35 + -0x14) = 0x84575;
                          uVar18 = gettext();
                        }
                        else {
                          *(undefined1 **)(puVar35 + -0x10) =
                               (undefined1 *)((int)&pEStack_154[-0x57aa].e_version + 3);
                          *(undefined4 *)(puVar35 + -0x14) = 0x841d0;
                          uVar18 = gettext();
                        }
                        puVar30 = *(undefined **)pEStack_158;
                        *(byte **)(puVar35 + -0x10) = pEStack_154[-0x577c].e_ident_pad + 3;
                        *(undefined4 *)(puVar35 + -0x14) = 0x841f2;
                        uVar19 = gettext();
                        *(undefined **)(puVar35 + -8) = puVar30;
                        *(undefined4 *)(puVar35 + -0xc) = uVar18;
                        *(undefined4 *)(puVar35 + -0x10) = uVar19;
                        *(undefined4 *)(puVar35 + -0x14) = 0x84203;
                        FUN_000d1330();
                      }
LAB_00084206:
                      bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                    }
                    else {
                      pdVar23 = &pEStack_154[-0x10eb9].e_version;
                      pcVar3 = *(code **)(**(int **)&pEStack_158->e_ident_abiversion + 0x14);
                      pEVar29 = pEStack_154;
                      if (pcVar3 == (code *)pdVar23) {
LAB_00084114:
                        bVar28 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar28);
                        uVar16 = bVar28 & 3;
                        if ((bVar28 & 3) != 0) {
                          bVar27 = bVar27 & 7;
                          goto LAB_00084183;
                        }
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                      }
                      else {
                        *(int **)(puVar35 + -0x10) = *(int **)&pEStack_158->e_ident_abiversion;
                        *(undefined4 *)(puVar35 + -0x14) = 0x8421e;
                        iVar20 = (*pcVar3)();
                        pEVar29 = pEVar17;
                        if (iVar20 == 0) goto LAB_00084540;
                        bVar27 = (byte)pEStack_158->e_phentsize;
                        uVar40 = (uint)bVar27;
                        uVar36 = uVar40 & 7;
                        if ((bVar27 & 7) == 0) {
                          pEVar29 = *(Elf32_Ehdr **)(pEStack_158->e_ident_pad + 3);
                          if (pEVar29 == (Elf32_Ehdr *)0x0) {
                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                            if ((bVar28 & 0x20) != 0) goto LAB_00084399;
                          }
                          else {
                            bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                          }
                          pEVar17 = pEVar29;
                          if ((char)bVar28 < '\0') goto LAB_00084410;
LAB_00084255:
                          pbVar33 = &pEStack_154[0x18].e_ident_abiversion;
                          pEVar29 = pEVar17;
                          goto LAB_00084261;
                        }
                        if ((char)uVar36 == '\x04') goto LAB_00084399;
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                        if (-1 < (char)bVar28) goto LAB_00084255;
LAB_000844bb:
                        bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                        pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                        uVar16 = bVar27 & 3;
                        if ((bVar27 & 3) != 0) {
                          uVar36 = uVar40 & 7;
                          goto LAB_000844d7;
                        }
                      }
                    }
                  }
                  else {
                    if ((char)uVar36 == '\x04') goto LAB_00084399;
                    bVar27 = *(byte *)((int)&pEStack_158->e_ehsize + 1);
                    pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                    uVar16 = bVar27 & 3;
                    if ((bVar27 & 3) != 0) {
LAB_000844d7:
                      if ((char)uVar36 != '\x04') goto LAB_00084206;
                      bVar27 = (byte)pEStack_158->e_ehsize;
                      pEStack_160 = (Elf32_Ehdr *)CONCAT31(pEStack_160._1_3_,bVar27);
                      if ((bVar27 >> 4 == 2) || (bVar27 = 4, (pEStack_158->e_phnum & 2) != 0)) {
                        bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                        goto LAB_0008412d;
                      }
LAB_00084510:
                      if (*(int *)(*(undefined **)pEStack_1c8 + 8) == 0) {
                        *(uint *)(puVar35 + -4) = uVar16;
                        *(Elf32_Ehdr **)(puVar35 + -8) = pEStack_154 + -0x57ee;
                        *(undefined4 *)(puVar35 + -0xc) = 0x5c;
                        *(undefined1 **)(puVar35 + -0x10) =
                             (undefined1 *)((int)&pEStack_154[-0x5e1c].e_phoff + 1);
                    /* WARNING: Subroutine does not return */
                        *(undefined **)(puVar35 + -0x14) = &UNK_0008764b;
                        FUN_000da200();
                      }
                      pEVar29 = pEStack_1c8;
                      if (*(char *)(*(int *)(*(undefined **)pEStack_1c8 + 8) + 0x49b1) == '\0')
                      goto LAB_000841ad;
                      pEVar29 = pEStack_1c8;
                      if (bVar27 == 0) goto LAB_0008419a;
                      goto LAB_00084206;
                    }
LAB_00084595:
                    bVar28 = *(byte *)((int)&pEStack_158->e_phentsize + 1);
                  }
LAB_0008412d:
                  if ((bVar28 & 4) != 0) {
                    *(int *)(puVar35 + -0xc) = (int)uStack_190 >> 0x1f;
                    *(uint *)(puVar35 + -0x10) = uStack_190;
                    *(Elf32_Ehdr **)(puVar35 + -0x14) = pEStack_170;
                    pEVar17 = *(Elf32_Ehdr **)local_44;
                    *(Elf32_Ehdr **)(puVar35 + -0x18) = local_44;
                    *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_158;
                    *(word **)(puVar35 + -0x20) = &pEVar17[4].e_shnum;
                    *(undefined4 *)(puVar35 + -0x24) = 0x84177;
                    pEStack_158 = pEVar17;
                    FUN_001ead70();
                  }
                }
              }
              else {
LAB_00083e0d:
                *(undefined1 **)(puVar35 + -0x10) =
                     (undefined1 *)((int)&pEStack_154[-0x57aa].e_shoff + 1);
                *(undefined4 *)(puVar35 + -0x14) = 0x83e24;
                uVar18 = gettext();
                *(uint *)(puVar35 + -0xc) = uStack_190;
                *(undefined4 *)(puVar35 + -0x10) = uVar18;
                *(int *)(puVar35 + -0x14) = (int)uStack_190 >> 0x1f;
                *(uint *)(puVar35 + -0x18) = uStack_190;
                *(Elf32_Ehdr **)(puVar35 + -0x1c) = pEStack_170;
                *(Elf32_Ehdr **)(puVar35 + -0x20) = local_44;
                *(undefined4 *)(puVar35 + -0x24) = 0x83e41;
                FUN_000d1b10();
              }
              *(dword **)(puVar35 + -0x10) = pdStack_198;
              *(undefined4 *)(puVar35 + -0x14) = 0x83e4f;
              FUN_000aa480();
              *(dword **)(puVar35 + -0x10) = pdStack_184;
              *(undefined4 *)(puVar35 + -0x14) = 0x83e5b;
              FUN_000aa480();
            }
            else {
              *(uint *)(puVar35 + -4) = uVar36;
              *(dword *)(puVar35 + -8) = local_44->e_entry;
              *(undefined4 *)(puVar35 + -0xc) = *(undefined4 *)&local_44->e_ident_abiversion;
              *(int *)(puVar35 + -0x10) = local_34;
              *(undefined4 *)(puVar35 + -0x14) = 0x850d8;
              uStack_190 = FUN_00163f70();
              if (uStack_190 != 0xffffffff) goto LAB_00083ea0;
            }
            pEVar17 = (Elf32_Ehdr *)pEStack_170->e_ident_magic_str;
            puVar2 = puStack_3c + 6;
            pEStack_170 = pEVar17;
            if ((Elf32_Ehdr *)local_38 == pEVar17) goto LAB_000865b0;
            uVar36 = puStack_3c[7];
            uVar36 = uVar36 >> 0x18 | (uVar36 & 0xff0000) >> 8 | (uVar36 & 0xff00) << 8 |
                     uVar36 << 0x18;
            puStack_3c = puVar2;
          } while (*puVar2 == 0);
        }
        pEVar17 = pEStack_154;
        *(dword **)(puVar35 + -8) = &pEStack_154[-0x57f8].e_flags;
        *(undefined4 *)(puVar35 + -0xc) = 0xc0;
        *(byte **)(puVar35 + -0x10) = &pEVar17[-0x579f].e_ident_abiversion;
                    /* WARNING: Subroutine does not return */
        *(undefined4 *)(puVar35 + -0x14) = 0x87881;
        FUN_000da200();
      }
      iVar20 = *(int *)(*(int *)(local_30 + 0x14) + 0x20);
      pEStack_50 = (Elf32_Ehdr *)(*(byte *)(iVar20 + 0x1c) & 1);
      if ((*(byte *)(iVar20 + 0x1c) & 1) == 0) {
        ppuStack_54 = local_38 + -0x47743;
        ppuStack_5c = local_38 + -0x47469;
        puStack_58 = (uint *)0xc5;
                    /* WARNING: Subroutine does not return */
        dStack_60 = 0x83bf9;
        FUN_000da200();
      }
      uVar36 = uVar16 - *(uint *)(iVar20 + 4);
      uVar26 = uVar36 - 0x8000;
      uVar36 = ((uVar40 - *(int *)(iVar20 + 8)) - (uint)(uVar16 < *(uint *)(iVar20 + 4))) + -1 +
               (uint)(0x7fff < uVar36);
      if (uVar36 + (0x7fff7fff < uVar26) == 0) {
        *param_3 = uVar26;
        param_3[1] = uVar36;
        return pEStack_50;
      }
    }
  }
  return (Elf32_Ehdr *)0x0;
}

