
/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original name: get_fde_addresses<32, false>
   DWARF original prototype: void get_fde_addresses<32,_false>(Eh_frame_hdr * this, Output_file *
   of, Fde_offsets * fde_offsets, Fde_addresses<32> * fde_addresses) */

void __thiscall
gold::Eh_frame_hdr::get_fde_addresses<32,_false>
          (Eh_frame_hdr *this,Output_file *of,Fde_offsets *fde_offsets,
          Fde_addresses<32> *fde_addresses)

{
  int iVar1;
  Fde_addresses<32> *pFVar2;
  undefined4 *puVar3;
  byte bVar5;
  int iVar4;
  Output_section *pOVar6;
  uint uVar7;
  int extraout_v1;
  Output_file *pOVar8;
  Eh_frame_hdr *this_00;
  int *piVar9;
  undefined4 *puVar10;
  undefined4 uVar11;
  size_t size;
  Output_file *pOVar12;
  undefined *puVar13;
  undefined4 *puVar14;
  undefined4 uVar15;
  Fde_addresses<32> *pFVar16;
  undefined4 uVar17;
  pointer ppVar18;
  pointer ppVar19;
  uint uVar20;
  char cVar23;
  int *piVar21;
  int iVar22;
  Elf_Addr unaff_s1;
  Elf_Addr eh_frame_address;
  int iVar24;
  uchar *puVar25;
  undefined4 *puVar26;
  uint uVar27;
  undefined4 *puVar28;
  int iVar29;
  int iVar30;
  int iVar31;
  undefined *puVar32;
  code *pcVar33;
  code *pcVar34;
  int iVar35;
  byte bStackY_e5;
  undefined4 in_stack_ffffff48;
  undefined4 in_stack_ffffff4c;
  Elf_Addr EStack_a8;
  int iStack_a4;
  uint uStack_a0;
  Elf_Addr EStack_9c;
  uint in_stack_ffffffc0;
  undefined4 in_stack_ffffffc4;
  Elf_Addr local_30;
  int local_2c;
  
  puVar32 = PTR_emplace_back<std_pair<unsigned_int,_unsigned_int>_>_004c3a84;
  pOVar6 = this->eh_frame_section_;
  iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;
  pFVar16 = fde_addresses;
  if (iVar1 < 0) {
    unaff_s1 = (Elf_Addr)(pOVar6->super_Output_data).address_;
    if (iVar1 << 2 < 0) {
      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);
      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;
      if (iVar1 << 1 < 0) {
        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);
        if (-1 < (int)pOVar12) {
          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);
          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);
          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);
          if ((pOVar12 == (Output_file *)0x0) &&
             ((*(int *)&of->file_size_ != iVar1 ||
              (pFVar16 = (Fde_addresses<32> *)
                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),
              pFVar16 == (Fde_addresses<32> *)0x0)))) {
            puVar25 = of->base_;
            ppVar18 = (fde_offsets->
                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>
                      )._M_impl._M_start;
            if (ppVar18 !=
                (fde_offsets->
                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>
                )._M_impl._M_finish) {
              do {
                ppVar19 = ppVar18 + 1;
                local_30 = get_fde_pc<32,_false>
                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,
                                      ppVar18->second);
                local_2c = unaff_s1 + ppVar18->first;
                (*(code *)puVar32)(fde_addresses,&local_30);
                ppVar18 = ppVar19;
              } while ((fde_offsets->
                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>
                       )._M_impl._M_finish != ppVar19);
            }
            return;
          }
        }
        Output_file::get_output_view
                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);
      }
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,
                 PTR_s_in_a_linker_script_004c191c + 0x77e8);
    }
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,
               PTR_s_in_a_linker_script_004c191c + 0x77f4);
  }
  iVar1 = 0xc5;
  puVar13 = PTR_s_in_a_linker_script_004c191c + 0x77bc;
  puVar32 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);
  cVar23 = (char)in_stack_ffffffc0;
  uVar20 = in_stack_ffffffc0 & 0xff;
  uVar7 = in_stack_ffffffc0 & 7;
  if (((in_stack_ffffffc0 & 7) == 0) || (uVar7 == 3)) {
    unaff_s1 = *(Elf_Addr *)
                (puVar13 +
                (int)&(pFVar16->fde_addresses_).
                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                      ._M_impl._M_end_of_storage);
  }
  else {
    if (uVar7 == 4) {
      uVar11 = 0x104;
      goto LAB_002f4d08;
    }
    if (uVar7 != 2) {
      uVar11 = 0x10a;
      goto LAB_002f4d08;
    }
    unaff_s1 = (Elf_Addr)
               *(ushort *)
                (puVar13 +
                (int)&(pFVar16->fde_addresses_).
                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                      ._M_impl._M_end_of_storage);
    if ((in_stack_ffffffc0 & 8) != 0) {
      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;
    }
  }
  if ((in_stack_ffffffc0 & 0x70) == 0x10) {
    unaff_s1 = (int)&(pFVar16->fde_addresses_).
                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>
                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1;
  }
  else {
    if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;
    if ((in_stack_ffffffc0 & 0x70) != 0) {
      uVar11 = 0x11d;
      goto LAB_002f4d08;
    }
  }
  while( true ) {
    uVar20 = (uint)cVar23;
    uVar11 = 0x120;
    if (-1 < (int)uVar20) {
      return;
    }
LAB_002f4d08:
    (**(code **)(puVar32 + 0x1ccdf0))
              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);
LAB_002f4d20:
    pcVar33 = *(code **)(puVar32 + 0x1ccdf0);
    if (*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0) break;
    cVar23 = (char)uVar20;
    (**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))();
    unaff_s1 = unaff_s1 + extraout_v1;
  }
  size = 0x69;
  puVar14 = (undefined4 *)(*(int *)(puVar32 + 0x1cccdc) + 0x77c4);
  this_00 = (Eh_frame_hdr *)(*(int *)(puVar32 + 0x1cc63c) + -0x9b8);
  (*pcVar33)();
  pOVar6 = this_00->eh_frame_section_;
  iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;
  uStack_a0 = uVar20;
  EStack_9c = unaff_s1;
  if (iVar1 < 0) {
    eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_;
    if (iVar1 << 2 < 0) {
      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);
      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;
      if (iVar1 << 1 < 0) {
        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;
        if (-1 < (int)pOVar12) {
          uVar27 = (int)&pOVar8->name_ + uVar7;
          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);
          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);
          if ((pOVar12 == (Output_file *)0x0) &&
             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {
            iVar1 = *(int *)(size + 0x10);
            if ((int *)*puVar14 != (int *)puVar14[1]) {
              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);
              piVar9 = (int *)*puVar14;
              do {
                piVar21 = piVar9 + 2;
                EStack_a8 = get_fde_pc<32,_true>
                                      (this_00,eh_frame_address,
                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,
                                       *(uchar *)(piVar9 + 1));
                iStack_a4 = eh_frame_address + *piVar9;
                (*pcVar33)(pFVar16,&EStack_a8);
                piVar9 = piVar21;
              } while ((int *)puVar14[1] != piVar21);
            }
            return;
          }
        }
        Output_file::get_output_view
                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);
      }
      (**(code **)(pcVar33 + 0x1cccb8))
                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);
    }
    (**(code **)(pcVar33 + 0x1cccb8))
              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4);
  }
  uVar7 = 0xc5;
  pcVar34 = *(code **)(pcVar33 + 0x1cccb8);
  piVar9 = (int *)(*(int *)(pcVar33 + 0x1cc504) + 0x3574);
  (*pcVar34)(piVar9,0xc5,*(int *)(pcVar33 + 0x1ccba4) + 0x77bc);
  if (uVar7 < 0x10000000) {
    puVar14 = (undefined4 *)*piVar9;
    if (uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)) {
      return;
    }
    puVar28 = (undefined4 *)piVar9[1];
    iVar1 = (int)puVar28 - (int)puVar14;
    if (uVar7 == 0) {
      puVar3 = (undefined4 *)0x0;
      puVar26 = puVar3;
      puVar10 = puVar14;
    }
    else {
      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);
      puVar26 = puVar3;
      puVar10 = (undefined4 *)*piVar9;
    }
    for (; puVar14 != puVar28; puVar14 = puVar14 + 4) {
      uVar17 = puVar14[1];
      uVar15 = puVar14[2];
      uVar11 = puVar14[3];
      *puVar3 = *puVar14;
      puVar3[1] = uVar17;
      puVar3[2] = uVar15;
      puVar3[3] = uVar11;
      puVar3 = puVar3 + 4;
    }
    if (puVar10 != (undefined4 *)0x0) {
      (**(code **)(pcVar34 + 0x1cc3d4))();
    }
    *piVar9 = (int)puVar26;
    piVar9[1] = (int)puVar26 + iVar1;
    piVar9[2] = (int)(puVar26 + uVar7 * 4);
    return;
  }
  pcVar33 = *(code **)(pcVar34 + 0x1ccf4c);
  (*pcVar33)(*(int *)(pcVar34 + 0x1ccb28) + -0xda4);
  bVar5 = bStackY_e5 & 7;
  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {
    uVar11 = 0x10a;
    goto LAB_002f50d0;
  }
  do {
    if ((bStackY_e5 & 0x70) == 0x10) {
LAB_002f516c:
      uVar11 = 0x120;
      if (-1 < (char)bStackY_e5) {
        return;
      }
    }
    else {
      if ((bStackY_e5 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {
          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();
          goto LAB_002f516c;
        }
        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);
        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)
        ;
        uVar27 = uVar20 & 0xff;
        uVar7 = uVar20 & 7;
        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))
        goto LAB_002f529c;
        break;
      }
      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;
      uVar11 = 0x11d;
    }
LAB_002f50d0:
    (**(code **)(pcVar33 + 0x1cc9c4))
              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);
  } while( true );
LAB_002f52c4:
  uVar7 = uVar27 & 0x70;
  if (uVar7 == 0x10) {
LAB_002f532c:
    uVar27 = (uint)(char)uVar27;
    uVar11 = 0x120;
    if (-1 < (int)uVar27) {
      return;
    }
  }
  else {
    if (uVar7 == 0x30) {
      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {
        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();
        goto LAB_002f532c;
      }
      iVar1 = 0x69;
      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);
      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);
      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);
      (*pcVar33)();
      iVar30 = piVar9[1];
      iVar24 = *piVar9;
      iVar31 = iVar1 - iVar24;
      uVar7 = iVar30 - iVar24 >> 2;
      if (uVar7 == 0) {
        uVar20 = 1;
LAB_002f558c:
        iVar29 = uVar20 << 2;
LAB_002f5460:
        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);
        iVar29 = iVar4 + iVar29;
      }
      else {
        uVar20 = uVar7 << 1;
        if (uVar20 < uVar7) {
          iVar29 = -4;
          goto LAB_002f5460;
        }
        iVar29 = -4;
        if (0x3fffffff < uVar20) goto LAB_002f5460;
        iVar4 = 0;
        if (uVar20 != 0) goto LAB_002f558c;
        iVar29 = 0;
      }
      iVar22 = iVar4 + iVar31 + 4;
      *(undefined4 *)(iVar4 + iVar31) = *puVar14;
      iVar35 = iVar22 + (iVar30 - iVar1);
      if (iVar24 == iVar1) {
        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);
        if (iVar30 != iVar24) goto LAB_002f54c0;
      }
      else {
        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);
        if (iVar30 == iVar1) goto LAB_002f5514;
        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);
LAB_002f54c0:
        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);
      }
      if (iVar24 == 0) {
        *piVar9 = iVar4;
        piVar9[1] = iVar35;
        piVar9[2] = iVar29;
        return;
      }
LAB_002f5514:
      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);
      *piVar9 = iVar4;
      piVar9[1] = iVar35;
      piVar9[2] = iVar29;
      return;
    }
    if (uVar7 == 0) goto LAB_002f532c;
    uVar11 = 0x11d;
  }
LAB_002f529c:
  (**(code **)(pcVar34 + 0x1cc7f4))
            (*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768);
  goto LAB_002f52c4;
}



/* WARNING: Type propagation algorithm not settling */
/* void gold::Eh_frame_hdr::get_fde_addresses<32, false>(gold::Output_file*,
   std::vector<std::pair<int, unsigned char>, std::allocator<std::pair<int, unsigned char> > >
   const*, gold::Eh_frame_hdr::Fde_addresses<32>*) */

void __thiscall
gold::Eh_frame_hdr::get_fde_addresses<32,false>
          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)

{
  undefined4 *puVar1;
  int iVar2;
  undefined4 *puVar3;
  byte bVar5;
  int iVar4;
  int iVar6;
  uint uVar7;
  int extraout_v1;
  int iVar8;
  Eh_frame_hdr *pEVar9;
  int iVar10;
  int *piVar11;
  undefined4 *puVar12;
  undefined4 uVar13;
  undefined *puVar14;
  undefined4 *puVar15;
  undefined4 uVar16;
  Fde_addresses *pFVar17;
  undefined4 uVar18;
  int *piVar19;
  uint uVar20;
  int iVar21;
  Fde_addresses *unaff_s1;
  int iVar22;
  undefined4 *puVar23;
  uint uVar24;
  undefined4 *puVar25;
  undefined *puVar26;
  code *pcVar27;
  code *pcVar28;
  int iVar29;
  byte bStackY_e5;
  undefined4 uStack_a8;
  int iStack_a4;
  uint uStack_a0;
  Fde_addresses *pFStack_9c;
  byte bStack_3d;
  undefined4 local_30;
  Fde_addresses *local_2c;
  
  puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84;
  iVar6 = *(int *)(this + 0x30);
  iVar2 = *(int *)(iVar6 + 0x20);
  pFVar17 = param_3;
  if (iVar2 < 0) {
    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);
    if (iVar2 << 2 < 0) {
      iVar8 = *(int *)(iVar6 + 0x1c);
      if (iVar2 << 1 < 0) {
        if (-1 < *(int *)(iVar6 + 0x18)) {
          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;
          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);
          if ((iVar2 <= *(int *)(param_1 + 8)) &&
             ((*(int *)(param_1 + 8) != iVar2 ||
              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),
              pFVar17 == (Fde_addresses *)0x0)))) {
            iVar2 = *(int *)(param_1 + 0x10);
            if (*(int **)param_2 != *(int **)(param_2 + 4)) {
              piVar11 = *(int **)param_2;
              do {
                piVar19 = piVar11 + 2;
                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);
                local_2c = unaff_s1 + *piVar11;
                (*(code *)puVar26)(param_3,&local_30);
                piVar11 = piVar19;
              } while (*(int **)(param_2 + 4) != piVar19);
            }
            return;
          }
        }
        FUN_002f2158();
      }
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,
                 PTR_s_in_a_linker_script_004c191c + 0x77e8);
    }
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,
               PTR_s_in_a_linker_script_004c191c + 0x77f4);
  }
  iVar2 = 0xc5;
  puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc;
  puVar26 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);
  uVar20 = (uint)bStack_3d;
  uVar7 = uVar20 & 7;
  if (((bStack_3d & 7) == 0) || (uVar7 == 3)) {
    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));
  }
  else {
    if (uVar7 == 4) {
      uVar13 = 0x104;
      goto LAB_002f4d08;
    }
    if (uVar7 != 2) {
      uVar13 = 0x10a;
      goto LAB_002f4d08;
    }
    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));
    if ((bStack_3d & 8) != 0) {
      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);
    }
  }
  if ((uVar20 & 0x70) == 0x10) {
    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);
  }
  else {
    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;
    if ((bStack_3d & 0x70) != 0) {
      uVar13 = 0x11d;
      goto LAB_002f4d08;
    }
  }
  while( true ) {
    uVar20 = (uint)(char)bStack_3d;
    uVar13 = 0x120;
    if (-1 < (int)uVar20) {
      return;
    }
LAB_002f4d08:
    (**(code **)(puVar26 + 0x1ccdf0))
              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);
LAB_002f4d20:
    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);
    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;
    bStack_3d = (byte)uVar20;
    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();
    unaff_s1 = unaff_s1 + extraout_v1;
  }
  iVar8 = 0x69;
  puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4);
  pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8);
  (*pcVar27)();
  iVar6 = *(int *)(pEVar9 + 0x30);
  iVar2 = *(int *)(iVar6 + 0x20);
  uStack_a0 = uVar20;
  pFStack_9c = unaff_s1;
  if (iVar2 < 0) {
    iVar22 = *(int *)(iVar6 + 0xc);
    if (iVar2 << 2 < 0) {
      iVar10 = *(int *)(iVar6 + 0x1c);
      if (iVar2 << 1 < 0) {
        if (-1 < *(int *)(iVar6 + 0x18)) {
          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;
          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);
          if ((iVar2 <= *(int *)(iVar8 + 8)) &&
             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {
            iVar2 = *(int *)(iVar8 + 0x10);
            if ((int *)*puVar15 != (int *)puVar15[1]) {
              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);
              piVar11 = (int *)*puVar15;
              do {
                piVar19 = piVar11 + 2;
                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,
                                                *(undefined1 *)(piVar11 + 1));
                iStack_a4 = iVar22 + *piVar11;
                (*pcVar27)(pFVar17,&uStack_a8);
                piVar11 = piVar19;
              } while ((int *)puVar15[1] != piVar19);
            }
            return;
          }
        }
        FUN_002f2158();
      }
      (**(code **)(pcVar27 + 0x1cccb8))
                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);
    }
    (**(code **)(pcVar27 + 0x1cccb8))
              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);
  }
  uVar7 = 0xc5;
  pcVar28 = *(code **)(pcVar27 + 0x1cccb8);
  piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574);
  (*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc);
  if (uVar7 < 0x10000000) {
    puVar15 = (undefined4 *)*piVar11;
    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {
      return;
    }
    puVar25 = (undefined4 *)piVar11[1];
    puVar1 = puVar15;
    if (uVar7 == 0) {
      puVar3 = (undefined4 *)0x0;
      puVar23 = puVar3;
      puVar12 = puVar15;
    }
    else {
      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);
      puVar23 = puVar3;
      puVar12 = (undefined4 *)*piVar11;
    }
    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {
      uVar18 = puVar1[1];
      uVar16 = puVar1[2];
      uVar13 = puVar1[3];
      *puVar3 = *puVar1;
      puVar3[1] = uVar18;
      puVar3[2] = uVar16;
      puVar3[3] = uVar13;
      puVar3 = puVar3 + 4;
    }
    if (puVar12 != (undefined4 *)0x0) {
      (**(code **)(pcVar28 + 0x1cc3d4))();
    }
    *piVar11 = (int)puVar23;
    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);
    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);
    return;
  }
  pcVar27 = *(code **)(pcVar28 + 0x1ccf4c);
  (*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4);
  bVar5 = bStackY_e5 & 7;
  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {
    uVar13 = 0x10a;
    goto LAB_002f50d0;
  }
  do {
    if ((bStackY_e5 & 0x70) == 0x10) {
LAB_002f516c:
      uVar13 = 0x120;
      if (-1 < (char)bStackY_e5) {
        return;
      }
    }
    else {
      if ((bStackY_e5 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {
          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();
          goto LAB_002f516c;
        }
        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);
        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)
        ;
        uVar24 = uVar20 & 0xff;
        uVar7 = uVar20 & 7;
        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))
        goto LAB_002f529c;
        break;
      }
      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;
      uVar13 = 0x11d;
    }
LAB_002f50d0:
    (**(code **)(pcVar27 + 0x1cc9c4))
              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);
  } while( true );
LAB_002f52c4:
  uVar7 = uVar24 & 0x70;
  if (uVar7 == 0x10) {
LAB_002f532c:
    uVar24 = (uint)(char)uVar24;
    uVar13 = 0x120;
    if (-1 < (int)uVar24) {
      return;
    }
  }
  else {
    if (uVar7 == 0x30) {
      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {
        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();
        goto LAB_002f532c;
      }
      iVar2 = 0x69;
      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);
      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);
      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);
      (*pcVar27)();
      iVar8 = piVar11[1];
      iVar6 = *piVar11;
      iVar22 = iVar2 - iVar6;
      uVar7 = iVar8 - iVar6 >> 2;
      if (uVar7 == 0) {
        uVar20 = 1;
LAB_002f558c:
        iVar10 = uVar20 << 2;
LAB_002f5460:
        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);
        iVar10 = iVar4 + iVar10;
      }
      else {
        uVar20 = uVar7 << 1;
        if (uVar20 < uVar7) {
          iVar10 = -4;
          goto LAB_002f5460;
        }
        iVar10 = -4;
        if (0x3fffffff < uVar20) goto LAB_002f5460;
        iVar4 = 0;
        if (uVar20 != 0) goto LAB_002f558c;
        iVar10 = 0;
      }
      iVar21 = iVar4 + iVar22 + 4;
      *(undefined4 *)(iVar4 + iVar22) = *puVar15;
      iVar29 = iVar21 + (iVar8 - iVar2);
      if (iVar6 == iVar2) {
        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);
        if (iVar8 != iVar6) goto LAB_002f54c0;
      }
      else {
        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);
        if (iVar8 == iVar2) goto LAB_002f5514;
        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);
LAB_002f54c0:
        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);
      }
      if (iVar6 == 0) {
        *piVar11 = iVar4;
        piVar11[1] = iVar29;
        piVar11[2] = iVar10;
        return;
      }
LAB_002f5514:
      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);
      *piVar11 = iVar4;
      piVar11[1] = iVar29;
      piVar11[2] = iVar10;
      return;
    }
    if (uVar7 == 0) goto LAB_002f532c;
    uVar13 = 0x11d;
  }
LAB_002f529c:
  (**(code **)(pcVar28 + 0x1cc7f4))
            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);
  goto LAB_002f52c4;
}


lui gp,0x1d
addiu gp,gp,0x47b0
addu gp,gp,t9
lw v1,0x30(a0)
addiu sp,sp,-0x50
sw gp,0x18(sp)
sw ra,0x4c(sp)
sw s8,0x48(sp)
sw s7,0x44(sp)
sw s6,0x40(sp)
sw s5,0x3c(sp)
sw s4,0x38(sp)
sw s3,0x34(sp)
sw s2,0x30(sp)
sw s1,0x2c(sp)
sw s0,0x28(sp)
lw v0,0x20(v1)
bgez v0,0x002f4c24
_or s3,a0,zero
ext a0,v0,0x1d,0x1
beq a0,zero,0x002f4c08
_lw s1,0xc(v1)
ext v0,v0,0x1e,0x1
lw a0,0x1c(v1)
or s7,a2,zero
beq v0,zero,0x002f4bec
_lw a2,0x18(v1)
bltz a2,0x002f4bdc
_lw v0,0x14(v1)
or s4,a3,zero
lw v1,0x8(a1)
addu a3,v0,a0
sltu v0,a3,v0
addu v0,v0,a2
slt a2,v1,v0
bne a2,zero,0x002f4be0
_lw t9,-0x448c(gp)
beq v1,v0,0x002f4bcc
_nop
lw s2,0x10(a1)
lw s0,0x0(s7)
lw v0,0x4(s7)
beq s0,v0,0x002f4b9c
_addu s2,s2,a0
lw s6,-0x446c(gp)
addiu s8,sp,0x20
lw s5,-0x57bc(gp)
lbu v0,0x4(s0)
addiu s0,s0,0x8
lw a3,-0x8(s0)
or a1,s1,zero
or a0,s3,zero
or a2,s2,zero
or t9,s6,zero
bal 0x002f4948
_sw v0,0x10(sp)
or a1,s8,zero
lw v1,-0x8(s0)
or a0,s4,zero
sw v0,0x20(sp)
or t9,s5,zero
addu v1,s1,v1
jalr t9
_sw v1,0x24(sp)
lw v0,0x4(s7)
bne v0,s0,0x002f4b4c
_nop
lw ra,0x4c(sp)
lw s8,0x48(sp)
lw s7,0x44(sp)
lw s6,0x40(sp)
lw s5,0x3c(sp)
lw s4,0x38(sp)
lw s3,0x34(sp)
lw s2,0x30(sp)
lw s1,0x2c(sp)
lw s0,0x28(sp)
jr ra
_addiu sp,sp,0x50
lw v0,0xc(a1)
sltu a3,v0,a3
beq a3,zero,0x002f4b2c
_nop
lw t9,-0x448c(gp)
addiu t9,t9,0x2158
bal 0x002f2158
_nop
lw a2,-0x7924(gp)
li a1,0xcf
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x77e8
jalr t9
_addiu a0,a0,0x3574
lw a2,-0x7924(gp)
li a1,0xe3
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x77f4
jalr t9
_addiu a0,a0,0x3574
lw a2,-0x7924(gp)
li a1,0xc5
lw a0,-0x7fc4(gp)
lw t9,-0x7810(gp)
addiu a2,a2,0x77bc
jalr t9
_addiu a0,a0,0x3574
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* void gold::Eh_frame_hdr::get_fde_addresses<32, false>(gold::Output_file*,\n   std::vector<std::pair<int, unsigned char>, std::allocator<std::pair<int, unsigned char> > >\n   const*, gold::Eh_frame_hdr::Fde_addresses<32>*) */\n\nvoid __thiscall\ngold::Eh_frame_hdr::get_fde_addresses<32,false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  byte bVar5;\n  int iVar4;\n  int iVar6;\n  uint uVar7;\n  int extraout_v1;\n  int iVar8;\n  Eh_frame_hdr *pEVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  undefined4 uVar16;\n  Fde_addresses *pFVar17;\n  undefined4 uVar18;\n  int *piVar19;\n  uint uVar20;\n  int iVar21;\n  Fde_addresses *unaff_s1;\n  int iVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  byte bStackY_e5;\n  undefined4 uStack_a8;\n  int iStack_a4;\n  uint uStack_a0;\n  Fde_addresses *pFStack_9c;\n  byte bStack_3d;\n  undefined4 local_30;\n  Fde_addresses *local_2c;\n  \n  puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84;\n  iVar6 = *(int *)(this + 0x30);\n  iVar2 = *(int *)(iVar6 + 0x20);\n  pFVar17 = param_3;\n  if (iVar2 < 0) {\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }\n  iVar2 = 0xc5;\n  puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc;\n  puVar26 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  uVar20 = (uint)bStack_3d;\n  uVar7 = uVar20 & 7;\n  if (((bStack_3d & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }\n  if ((uVar20 & 0x70) == 0x10) {\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }\n  else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }\n  while( true ) {\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }\n  iVar8 = 0x69;\n  puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4);\n  pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8);\n  (*pcVar27)();\n  iVar6 = *(int *)(pEVar9 + 0x30);\n  iVar2 = *(int *)(iVar6 + 0x20);\n  uStack_a0 = uVar20;\n  pFStack_9c = unaff_s1;\n  if (iVar2 < 0) {\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }\n  uVar7 = 0xc5;\n  pcVar28 = *(code **)(pcVar27 + 0x1cccb8);\n  piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574);\n  (*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc);\n  if (uVar7 < 0x10000000) {\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }\n  pcVar27 = *(code **)(pcVar28 + 0x1ccf4c);\n  (*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4);\n  bVar5 = bStackY_e5 & 7;\n  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }\n  do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  } while( true );\nLAB_002f52c4:\n  uVar7 = uVar24 & 0x70;\n  if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }\nLAB_002f529c:\n  (**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);\n  goto LAB_002f52c4;\n}\n\n" comment comment (declaration "void __thiscall\ngold::Eh_frame_hdr::get_fde_addresses<32,false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4 *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Eh_frame_hdr::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4" (function_declarator "false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)" identifier (ERROR ">" >) (parameter_list "(Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)" ( (parameter_declaration "Eh_frame_hdr *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "vector *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Fde_addresses *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "Eh_frame_hdr *pEVar9;" type_identifier (pointer_declarator "*pEVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "Fde_addresses *pFVar17;" type_identifier (pointer_declarator "*pFVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "Fde_addresses *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "byte bStackY_e5;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "int iStack_a4;" primitive_type identifier ;) (declaration "uint uStack_a0;" type_identifier identifier ;) (declaration "Fde_addresses *pFStack_9c;" type_identifier (pointer_declarator "*pFStack_9c" * identifier) ;) (declaration "byte bStack_3d;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "Fde_addresses *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84;" (update_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84" (binary_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84" (assignment_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int" identifier = (binary_expression "PTR_emplace_back<std_pair<unsigned_int" (binary_expression "PTR_emplace_back<std_pair" identifier < identifier) < identifier)) (ERROR ",unsigned_int" , identifier) >> identifier) --) ;) (expression_statement "iVar6 = *(int *)(this + 0x30);" (assignment_expression "iVar6 = *(int *)(this + 0x30)" identifier = (pointer_expression "*(int *)(this + 0x30)" * (cast_expression "(int *)(this + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar2 = *(int *)(iVar6 + 0x20)" identifier = (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pFVar17 = param_3;" (assignment_expression "pFVar17 = param_3" identifier = identifier) ;) (if_statement "if (iVar2 < 0) {\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" { (expression_statement "unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);" (assignment_expression "unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc)" identifier = (pointer_expression "*(Fde_addresses **)(iVar6 + 0xc)" * (cast_expression "(Fde_addresses **)(iVar6 + 0xc)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" if (parenthesized_expression "(iVar2 << 2 < 0)" ( (binary_expression "iVar2 << 2 < 0" (binary_expression "iVar2 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" { (expression_statement "iVar8 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar8 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" if (parenthesized_expression "(iVar2 << 1 < 0)" ( (binary_expression "iVar2 << 1 < 0" (binary_expression "iVar2 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" { (if_statement "if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }" { (expression_statement "pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;" (assignment_expression "pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8" identifier = (binary_expression "*(Fde_addresses **)(iVar6 + 0x14) + iVar8" (pointer_expression "*(Fde_addresses **)(iVar6 + 0x14)" * (cast_expression "(Fde_addresses **)(iVar6 + 0x14)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);" (assignment_expression "iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" identifier = (binary_expression "(uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (call_expression "(uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14))" ( (binary_expression "pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)" identifier < (pointer_expression "*(Fde_addresses **)(iVar6 + 0x14)" * (cast_expression "(Fde_addresses **)(iVar6 + 0x14)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }" if (parenthesized_expression "((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0))))" ( (binary_expression "(iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))" (parenthesized_expression "(iVar2 <= *(int *)(param_1 + 8))" ( (binary_expression "iVar2 <= *(int *)(param_1 + 8)" identifier <= (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))" ( (parenthesized_expression "(*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0))" ( (binary_expression "*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)" (binary_expression "*(int *)(param_1 + 8) != iVar2" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)" ( (comma_expression "pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0" (assignment_expression "pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" identifier = (cast_expression "(Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" ( (binary_expression "*(Fde_addresses **)(param_1 + 0xc) < pFVar17" (pointer_expression "*(Fde_addresses **)(param_1 + 0xc)" * (cast_expression "(Fde_addresses **)(param_1 + 0xc)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) < identifier) ))))) , (binary_expression "pFVar17 == (Fde_addresses *)0x0" identifier == (cast_expression "(Fde_addresses *)0x0" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }" { (expression_statement "iVar2 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }" if (parenthesized_expression "(*(int **)param_2 != *(int **)(param_2 + 4))" ( (binary_expression "*(int **)param_2 != *(int **)(param_2 + 4)" (pointer_expression "*(int **)param_2" * (cast_expression "(int **)param_2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != (pointer_expression "*(int **)(param_2 + 4)" * (cast_expression "(int **)(param_2 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }" { (expression_statement "piVar11 = *(int **)param_2;" (assignment_expression "piVar11 = *(int **)param_2" identifier = (pointer_expression "*(int **)param_2" * (cast_expression "(int **)param_2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);" do (compound_statement "{\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              }" { (expression_statement "piVar19 = piVar11 + 2;" (assignment_expression "piVar19 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);" (comma_expression "local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11)" (assignment_expression "local_30 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "false>(this,unaff_s1,iVar2 + iVar8,*piVar11)" false > (parenthesized_expression "(this,unaff_s1,iVar2 + iVar8,*piVar11)" ( (comma_expression "this,unaff_s1,iVar2 + iVar8,*piVar11" identifier , (comma_expression "unaff_s1,iVar2 + iVar8,*piVar11" identifier , (comma_expression "iVar2 + iVar8,*piVar11" (binary_expression "iVar2 + iVar8" identifier + identifier) , (pointer_expression "*piVar11" * identifier)))) )))) ;) (expression_statement "local_2c = unaff_s1 + *piVar11;" (assignment_expression "local_2c = unaff_s1 + *piVar11" identifier = (binary_expression "unaff_s1 + *piVar11" identifier + (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "(*(code *)puVar26)(param_3,&local_30);" (call_expression "(*(code *)puVar26)(param_3,&local_30)" (parenthesized_expression "(*(code *)puVar26)" ( (pointer_expression "*(code *)puVar26" * (cast_expression "(code *)puVar26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,&local_30)" ( identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" identifier = identifier) ;) }) while (parenthesized_expression "(*(int **)(param_2 + 4) != piVar19)" ( (binary_expression "*(int **)(param_2 + 4) != piVar19" (pointer_expression "*(int **)(param_2 + 4)" * (cast_expression "(int **)(param_2 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) != identifier) )) ;) })) (return_statement "return;" return ;) })) })) (expression_statement "FUN_002f2158();" (call_expression "FUN_002f2158()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77e8" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77f4" identifier + number_literal) ))) ;) })) (expression_statement "iVar2 = 0xc5;" (assignment_expression "iVar2 = 0xc5" identifier = number_literal) ;) (expression_statement "puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc;" (assignment_expression "puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77bc" identifier + number_literal)) ;) (expression_statement "puVar26 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar26 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) ))) ;) (expression_statement "uVar20 = (uint)bStack_3d;" (assignment_expression "uVar20 = (uint)bStack_3d" identifier = (cast_expression "(uint)bStack_3d" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = uVar20 & 7;" (assignment_expression "uVar7 = uVar20 & 7" identifier = (binary_expression "uVar20 & 7" identifier & number_literal)) ;) (if_statement "if (((bStack_3d & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" if (parenthesized_expression "(((bStack_3d & 7) == 0) || (uVar7 == 3))" ( (binary_expression "((bStack_3d & 7) == 0) || (uVar7 == 3)" (parenthesized_expression "((bStack_3d & 7) == 0)" ( (binary_expression "(bStack_3d & 7) == 0" (parenthesized_expression "(bStack_3d & 7)" ( (binary_expression "bStack_3d & 7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar7 == 3)" ( (binary_expression "uVar7 == 3" identifier == number_literal) ))) )) (compound_statement "{\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }" { (expression_statement "unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));" (assignment_expression "unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" identifier = (pointer_expression "*(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" * (cast_expression "(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + (int)(pFVar17 + 8))" ( (binary_expression "puVar14 + (int)(pFVar17 + 8)" identifier + (cast_expression "(int)(pFVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pFVar17 + 8)" ( (binary_expression "pFVar17 + 8" identifier + number_literal) )))) ))))) ;) }) (else_clause "else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" else (compound_statement "{\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" { (if_statement "if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "(uVar7 == 4)" ( (binary_expression "uVar7 == 4" identifier == number_literal) )) (compound_statement "{\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar13 = 0x104;" (assignment_expression "uVar13 = 0x104" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) (if_statement "if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "(uVar7 != 2)" ( (binary_expression "uVar7 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar13 = 0x10a;" (assignment_expression "uVar13 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) (expression_statement "unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));" (assignment_expression "unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8))" identifier = (binary_expression "(Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8))" (cast_expression "(Fde_addresses *)(uint)" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(puVar14 + (int)(pFVar17 + 8))" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + (int)(pFVar17 + 8))" ( (binary_expression "puVar14 + (int)(pFVar17 + 8)" identifier + (cast_expression "(int)(pFVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pFVar17 + 8)" ( (binary_expression "pFVar17 + 8" identifier + number_literal) )))) ))))) ;) (if_statement "if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }" if (parenthesized_expression "((bStack_3d & 8) != 0)" ( (binary_expression "(bStack_3d & 8) != 0" (parenthesized_expression "(bStack_3d & 8)" ( (binary_expression "bStack_3d & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }" { (expression_statement "unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);" (assignment_expression "unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" identifier = (cast_expression "(Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (binary_expression "((uint)unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "((uint)unaff_s1 ^ 0x8000)" ( (binary_expression "(uint)unaff_s1 ^ 0x8000" (cast_expression "(uint)unaff_s1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) )) - number_literal) )))) ;) })) }))) (if_statement "if ((uVar20 & 0x70) == 0x10) {\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }\n  else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" if (parenthesized_expression "((uVar20 & 0x70) == 0x10)" ( (binary_expression "(uVar20 & 0x70) == 0x10" (parenthesized_expression "(uVar20 & 0x70)" ( (binary_expression "uVar20 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }" { (expression_statement "unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);" (assignment_expression "unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8)" identifier = (binary_expression "unaff_s1 + (int)(pFVar17 + iVar2 + 8)" identifier + (cast_expression "(int)(pFVar17 + iVar2 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pFVar17 + iVar2 + 8)" ( (binary_expression "pFVar17 + iVar2 + 8" (binary_expression "pFVar17 + iVar2" identifier + identifier) + number_literal) ))))) ;) }) (else_clause "else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" else (compound_statement "{\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" { (if_statement "if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;" if (parenthesized_expression "((uVar20 & 0x70) == 0x30)" ( (binary_expression "(uVar20 & 0x70) == 0x30" (parenthesized_expression "(uVar20 & 0x70)" ( (binary_expression "uVar20 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002f4d20;" goto statement_identifier ;)) (if_statement "if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "((bStack_3d & 0x70) != 0)" ( (binary_expression "(bStack_3d & 0x70) != 0" (parenthesized_expression "(bStack_3d & 0x70)" ( (binary_expression "bStack_3d & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) }))) (while_statement "while( true ) {\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" { (expression_statement "uVar20 = (uint)(char)bStack_3d;" (assignment_expression "uVar20 = (uint)(char)bStack_3d" identifier = (cast_expression "(uint)(char)bStack_3d" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)bStack_3d" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar20) {\n      return;\n    }" if (parenthesized_expression "(-1 < (int)uVar20)" ( (binary_expression "-1 < (int)uVar20" number_literal < (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);" statement_identifier : (expression_statement "(**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);" (call_expression "(**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0)" (parenthesized_expression "(**(code **)(puVar26 + 0x1ccdf0))" ( (pointer_expression "**(code **)(puVar26 + 0x1ccdf0)" * (pointer_expression "*(code **)(puVar26 + 0x1ccdf0)" * (cast_expression "(code **)(puVar26 + 0x1ccdf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccdf0)" ( (binary_expression "puVar26 + 0x1ccdf0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0)" ( (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x75a4" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" * (cast_expression "(int *)(puVar26 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cccdc)" ( (binary_expression "puVar26 + 0x1cccdc" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x77a0" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" * (cast_expression "(int *)(puVar26 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cccdc)" ( (binary_expression "puVar26 + 0x1cccdc" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar26 + 0x1ccdf0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x1ccdf0)" identifier = (pointer_expression "*(code **)(puVar26 + 0x1ccdf0)" * (cast_expression "(code **)(puVar26 + 0x1ccdf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccdf0)" ( (binary_expression "puVar26 + 0x1ccdf0" identifier + number_literal) ))))) ;)) (if_statement "if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;" if (parenthesized_expression "(*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0" (pointer_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" * (cast_expression "(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (binary_expression "**(int **)(puVar26 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar26 + 0x1ccd74)" * (pointer_expression "*(int **)(puVar26 + 0x1ccd74)" * (cast_expression "(int **)(puVar26 + 0x1ccd74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccd74)" ( (binary_expression "puVar26 + 0x1ccd74" identifier + number_literal) ))))) + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "bStack_3d = (byte)uVar20;" (assignment_expression "bStack_3d = (byte)uVar20" identifier = (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" * (pointer_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" * (cast_expression "(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (binary_expression "**(int **)(puVar26 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar26 + 0x1ccd74)" * (pointer_expression "*(int **)(puVar26 + 0x1ccd74)" * (cast_expression "(int **)(puVar26 + 0x1ccd74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccd74)" ( (binary_expression "puVar26 + 0x1ccd74" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s1 = unaff_s1 + extraout_v1;" (assignment_expression "unaff_s1 = unaff_s1 + extraout_v1" identifier = (binary_expression "unaff_s1 + extraout_v1" identifier + identifier)) ;) })) (expression_statement "iVar8 = 0x69;" (assignment_expression "iVar8 = 0x69" identifier = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4);" (assignment_expression "puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" ( (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x77c4" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" * (cast_expression "(int *)(puVar26 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cccdc)" ( (binary_expression "puVar26 + 0x1cccdc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8);" (assignment_expression "pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" identifier = (cast_expression "(Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" ( (type_descriptor "Eh_frame_hdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" ( (binary_expression "*(int *)(puVar26 + 0x1cc63c) + -0x9b8" (pointer_expression "*(int *)(puVar26 + 0x1cc63c)" * (cast_expression "(int *)(puVar26 + 0x1cc63c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cc63c)" ( (binary_expression "puVar26 + 0x1cc63c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = *(int *)(pEVar9 + 0x30);" (assignment_expression "iVar6 = *(int *)(pEVar9 + 0x30)" identifier = (pointer_expression "*(int *)(pEVar9 + 0x30)" * (cast_expression "(int *)(pEVar9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar9 + 0x30)" ( (binary_expression "pEVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar2 = *(int *)(iVar6 + 0x20)" identifier = (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uStack_a0 = uVar20;" (assignment_expression "uStack_a0 = uVar20" identifier = identifier) ;) (expression_statement "pFStack_9c = unaff_s1;" (assignment_expression "pFStack_9c = unaff_s1" identifier = identifier) ;) (if_statement "if (iVar2 < 0) {\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }" { (expression_statement "iVar22 = *(int *)(iVar6 + 0xc);" (assignment_expression "iVar22 = *(int *)(iVar6 + 0xc)" identifier = (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }" if (parenthesized_expression "(iVar2 << 2 < 0)" ( (binary_expression "iVar2 << 2 < 0" (binary_expression "iVar2 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }" { (expression_statement "iVar10 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" if (parenthesized_expression "(iVar2 << 1 < 0)" ( (binary_expression "iVar2 << 1 < 0" (binary_expression "iVar2 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" { (if_statement "if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }" { (expression_statement "uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;" (assignment_expression "uVar7 = *(uint *)(iVar6 + 0x14) + iVar10" identifier = (binary_expression "*(uint *)(iVar6 + 0x14) + iVar10" (pointer_expression "*(uint *)(iVar6 + 0x14)" * (cast_expression "(uint *)(iVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);" (assignment_expression "iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar6 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(iVar6 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(iVar6 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar6 + 0x14)" * (cast_expression "(uint *)(iVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }" if (parenthesized_expression "((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar2 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar2" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }" { (expression_statement "iVar2 = *(int *)(iVar8 + 0x10);" (assignment_expression "iVar2 = *(int *)(iVar8 + 0x10)" identifier = (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }" if (parenthesized_expression "((int *)*puVar15 != (int *)puVar15[1])" ( (binary_expression "(int *)*puVar15 != (int *)puVar15[1]" (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) != (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) )) (compound_statement "{\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }" { (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x1ced0c);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x1ced0c)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1ced0c)" * (cast_expression "(code **)(pcVar27 + 0x1ced0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1ced0c)" ( (binary_expression "pcVar27 + 0x1ced0c" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)*puVar15;" (assignment_expression "piVar11 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (do_statement "do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);" do (compound_statement "{\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              }" { (expression_statement "piVar19 = piVar11 + 2;" (assignment_expression "piVar19 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));" (comma_expression "uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" (assignment_expression "uStack_a8 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" true > (parenthesized_expression "(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" ( (comma_expression "pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" identifier , (comma_expression "iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" identifier , (comma_expression "iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (binary_expression "iVar2 + iVar10" identifier + identifier) , (comma_expression "*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (pointer_expression "*piVar11" * identifier) , (pointer_expression "*(undefined1 *)(piVar11 + 1)" * (cast_expression "(undefined1 *)(piVar11 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 1)" ( (binary_expression "piVar11 + 1" identifier + number_literal) )))))))) )))) ;) (expression_statement "iStack_a4 = iVar22 + *piVar11;" (assignment_expression "iStack_a4 = iVar22 + *piVar11" identifier = (binary_expression "iVar22 + *piVar11" identifier + (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "(*pcVar27)(pFVar17,&uStack_a8);" (call_expression "(*pcVar27)(pFVar17,&uStack_a8)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pFVar17,&uStack_a8)" ( identifier , (pointer_expression "&uStack_a8" & identifier) ))) ;) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" identifier = identifier) ;) }) while (parenthesized_expression "((int *)puVar15[1] != piVar19)" ( (binary_expression "(int *)puVar15[1] != piVar19" (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ])) != identifier) )) ;) })) (return_statement "return;" return ;) })) })) (expression_statement "FUN_002f2158();" (call_expression "FUN_002f2158()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);" (call_expression "(**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cccb8))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cccb8)" * (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" * (cast_expression "(code **)(pcVar27 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cccb8)" ( (binary_expression "pcVar27 + 0x1cccb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" * (cast_expression "(int *)(pcVar27 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc504)" ( (binary_expression "pcVar27 + 0x1cc504" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77e8" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" * (cast_expression "(int *)(pcVar27 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1ccba4)" ( (binary_expression "pcVar27 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);" (call_expression "(**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cccb8))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cccb8)" * (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" * (cast_expression "(code **)(pcVar27 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cccb8)" ( (binary_expression "pcVar27 + 0x1cccb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" * (cast_expression "(int *)(pcVar27 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc504)" ( (binary_expression "pcVar27 + 0x1cc504" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77f4" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" * (cast_expression "(int *)(pcVar27 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1ccba4)" ( (binary_expression "pcVar27 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar7 = 0xc5;" (assignment_expression "uVar7 = 0xc5" identifier = number_literal) ;) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1cccb8);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1cccb8)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" * (cast_expression "(code **)(pcVar27 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cccb8)" ( (binary_expression "pcVar27 + 0x1cccb8" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" identifier = (cast_expression "(int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" * (cast_expression "(int *)(pcVar27 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc504)" ( (binary_expression "pcVar27 + 0x1cc504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc);" (call_expression "(*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77bc" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" * (cast_expression "(int *)(pcVar27 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1ccba4)" ( (binary_expression "pcVar27 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar7 < 0x10000000) {\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }" if (parenthesized_expression "(uVar7 < 0x10000000)" ( (binary_expression "uVar7 < 0x10000000" identifier < number_literal) )) (compound_statement "{\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }" { (expression_statement "puVar15 = (undefined4 *)*piVar11;" (assignment_expression "puVar15 = (undefined4 *)*piVar11" identifier = (cast_expression "(undefined4 *)*piVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (if_statement "if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }" if (parenthesized_expression "(uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4))" ( (binary_expression "uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)" identifier <= (call_expression "(uint)(piVar11[2] - (int)puVar15 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar11[2] - (int)puVar15 >> 4)" ( (binary_expression "piVar11[2] - (int)puVar15 >> 4" (binary_expression "piVar11[2] - (int)puVar15" (subscript_expression "piVar11[2]" identifier [ number_literal ]) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "puVar25 = (undefined4 *)piVar11[1];" (assignment_expression "puVar25 = (undefined4 *)piVar11[1]" identifier = (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar1 = puVar15;" (assignment_expression "puVar1 = puVar15" identifier = identifier) ;) (if_statement "if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }" { (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar23 = puVar3;" (assignment_expression "puVar23 = puVar3" identifier = identifier) ;) (expression_statement "puVar12 = puVar15;" (assignment_expression "puVar12 = puVar15" identifier = identifier) ;) }) (else_clause "else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" else (compound_statement "{\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" { (expression_statement "puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc480))" ( (pointer_expression "**(code **)(pcVar28 + 0x1cc480)" * (pointer_expression "*(code **)(pcVar28 + 0x1cc480)" * (cast_expression "(code **)(pcVar28 + 0x1cc480)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc480)" ( (binary_expression "pcVar28 + 0x1cc480" identifier + number_literal) ))))) )) (argument_list "(uVar7 * 0x10)" ( (binary_expression "uVar7 * 0x10" identifier * number_literal) ))))) ;) (expression_statement "puVar23 = puVar3;" (assignment_expression "puVar23 = puVar3" identifier = identifier) ;) (expression_statement "puVar12 = (undefined4 *)*piVar11;" (assignment_expression "puVar12 = (undefined4 *)*piVar11" identifier = (cast_expression "(undefined4 *)*piVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }))) (for_statement "for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }" for ( ; (binary_expression "puVar1 != puVar25" identifier != identifier) ; (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ) (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }" { (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = puVar1[2];" (assignment_expression "uVar16 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = puVar1[3];" (assignment_expression "uVar13 = puVar1[3]" identifier = (subscript_expression "puVar1[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar3 = *puVar1;" (assignment_expression "*puVar3 = *puVar1" (pointer_expression "*puVar3" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar3[1] = uVar18;" (assignment_expression "puVar3[1] = uVar18" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = uVar16;" (assignment_expression "puVar3[2] = uVar16" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = uVar13;" (assignment_expression "puVar3[3] = uVar13" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3 = puVar3 + 4;" (assignment_expression "puVar3 = puVar3 + 4" identifier = (binary_expression "puVar3 + 4" identifier + number_literal)) ;) })) (if_statement "if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }" if (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" ( (binary_expression "puVar12 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }" { (expression_statement "(**(code **)(pcVar28 + 0x1cc3d4))();" (call_expression "(**(code **)(pcVar28 + 0x1cc3d4))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc3d4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1cc3d4)" * (pointer_expression "*(code **)(pcVar28 + 0x1cc3d4)" * (cast_expression "(code **)(pcVar28 + 0x1cc3d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc3d4)" ( (binary_expression "pcVar28 + 0x1cc3d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "*piVar11 = (int)puVar23;" (assignment_expression "*piVar11 = (int)puVar23" (pointer_expression "*piVar11" * identifier) = (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);" (assignment_expression "piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15)" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = (binary_expression "(int)puVar25 + ((int)puVar23 - (int)puVar15)" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)puVar23 - (int)puVar15)" ( (binary_expression "(int)puVar23 - (int)puVar15" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);" (assignment_expression "piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10)" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = (cast_expression "(int)((int)puVar23 + uVar7 * 0x10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)puVar23 + uVar7 * 0x10)" ( (binary_expression "(int)puVar23 + uVar7 * 0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar7 * 0x10" identifier * number_literal)) )))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar27 = *(code **)(pcVar28 + 0x1ccf4c);" (assignment_expression "pcVar27 = *(code **)(pcVar28 + 0x1ccf4c)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1ccf4c)" * (cast_expression "(code **)(pcVar28 + 0x1ccf4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1ccf4c)" ( (binary_expression "pcVar28 + 0x1ccf4c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4);" (call_expression "(*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(int *)(pcVar28 + 0x1ccb28) + -0xda4)" ( (binary_expression "*(int *)(pcVar28 + 0x1ccb28) + -0xda4" (pointer_expression "*(int *)(pcVar28 + 0x1ccb28)" * (cast_expression "(int *)(pcVar28 + 0x1ccb28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1ccb28)" ( (binary_expression "pcVar28 + 0x1ccb28" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "bVar5 = bStackY_e5 & 7;" (assignment_expression "bVar5 = bStackY_e5 & 7" identifier = (binary_expression "bStackY_e5 & 7" identifier & number_literal)) ;) (if_statement "if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }" if (parenthesized_expression "(((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2))" ( (binary_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)" (parenthesized_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4))" ( (binary_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)" (parenthesized_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3))" ( (binary_expression "((bStackY_e5 & 7) != 0) && (bVar5 != 3)" (parenthesized_expression "((bStackY_e5 & 7) != 0)" ( (binary_expression "(bStackY_e5 & 7) != 0" (parenthesized_expression "(bStackY_e5 & 7)" ( (binary_expression "bStackY_e5 & 7" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(bVar5 != 3)" ( (binary_expression "bVar5 != 3" identifier != number_literal) ))) )) && (parenthesized_expression "(bVar5 != 4)" ( (binary_expression "bVar5 != 4" identifier != number_literal) ))) )) && (parenthesized_expression "(bVar5 != 2)" ( (binary_expression "bVar5 != 2" identifier != number_literal) ))) )) (compound_statement "{\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }" { (expression_statement "uVar13 = 0x10a;" (assignment_expression "uVar13 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_002f50d0;" goto statement_identifier ;) })) (do_statement "do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  } while( true );" do (compound_statement "{\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  }" { (if_statement "if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0x10)" ( (binary_expression "(bStackY_e5 & 0x70) == 0x10" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }" { (labeled_statement "LAB_002f516c:\n      uVar13 = 0x120;" statement_identifier : (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" identifier = number_literal) ;)) (if_statement "if (-1 < (char)bStackY_e5) {\n        return;\n      }" if (parenthesized_expression "(-1 < (char)bStackY_e5)" ( (binary_expression "-1 < (char)bStackY_e5" number_literal < (cast_expression "(char)bStackY_e5" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" else (compound_statement "{\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" { (if_statement "if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0x30)" ( (binary_expression "(bStackY_e5 & 0x70) == 0x30" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" { (if_statement "if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (binary_expression "**(int **)(pcVar27 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar27 + 0x1cc948)" * (pointer_expression "*(int **)(pcVar27 + 0x1cc948)" * (cast_expression "(int **)(pcVar27 + 0x1cc948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc948)" ( (binary_expression "pcVar27 + 0x1cc948" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" { (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (binary_expression "**(int **)(pcVar27 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar27 + 0x1cc948)" * (pointer_expression "*(int **)(pcVar27 + 0x1cc948)" * (cast_expression "(int **)(pcVar27 + 0x1cc948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc948)" ( (binary_expression "pcVar27 + 0x1cc948" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002f516c;" goto statement_identifier ;) })) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1cc9c4)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1cc9c4)" * (cast_expression "(code **)(pcVar27 + 0x1cc9c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc9c4)" ( (binary_expression "pcVar27 + 0x1cc9c4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;" (call_expression "(*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc210) + -0x9b8" (pointer_expression "*(int *)(pcVar27 + 0x1cc210)" * (cast_expression "(int *)(pcVar27 + 0x1cc210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc210)" ( (binary_expression "pcVar27 + 0x1cc210" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc8b0)" ( (binary_expression "pcVar27 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar24 = uVar20 & 0xff;" (assignment_expression "uVar24 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar7 = uVar20 & 7;" (assignment_expression "uVar7 = uVar20 & 7" identifier = (binary_expression "uVar20 & 7" identifier & number_literal)) ;) (if_statement "if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;" if (parenthesized_expression "((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))" ( (binary_expression "(((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)))" (parenthesized_expression "(((uVar20 & 7) != 0) && (uVar7 != 3))" ( (binary_expression "((uVar20 & 7) != 0) && (uVar7 != 3)" (parenthesized_expression "((uVar20 & 7) != 0)" ( (binary_expression "(uVar20 & 7) != 0" (parenthesized_expression "(uVar20 & 7)" ( (binary_expression "uVar20 & 7" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar7 != 3)" ( (binary_expression "uVar7 != 3" identifier != number_literal) ))) )) && (parenthesized_expression "((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)))" ( (parenthesized_expression "(uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))" ( (binary_expression "uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)" (binary_expression "uVar7 != 4" identifier != number_literal) && (parenthesized_expression "(uVar13 = 0x10a, uVar7 != 2)" ( (comma_expression "uVar13 = 0x10a, uVar7 != 2" (assignment_expression "uVar13 = 0x10a" identifier = number_literal) , (binary_expression "uVar7 != 2" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_002f529c;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (if_statement "if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0)" ( (binary_expression "(bStackY_e5 & 0x70) == 0" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002f516c;" goto statement_identifier ;)) (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);" statement_identifier : (expression_statement "(**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);" (call_expression "(**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cc9c4))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cc9c4)" * (pointer_expression "*(code **)(pcVar27 + 0x1cc9c4)" * (cast_expression "(code **)(pcVar27 + 0x1cc9c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc9c4)" ( (binary_expression "pcVar27 + 0x1cc9c4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc8b0)" ( (binary_expression "pcVar27 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x7784" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc8b0)" ( (binary_expression "pcVar27 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_002f52c4:\n  uVar7 = uVar24 & 0x70;" statement_identifier : (expression_statement "uVar7 = uVar24 & 0x70;" (assignment_expression "uVar7 = uVar24 & 0x70" identifier = (binary_expression "uVar24 & 0x70" identifier & number_literal)) ;)) (if_statement "if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" if (parenthesized_expression "(uVar7 == 0x10)" ( (binary_expression "uVar7 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }" { (labeled_statement "LAB_002f532c:\n    uVar24 = (uint)(char)uVar24;" statement_identifier : (expression_statement "uVar24 = (uint)(char)uVar24;" (assignment_expression "uVar24 = (uint)(char)uVar24" identifier = (cast_expression "(uint)(char)uVar24" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar24" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar24) {\n      return;\n    }" if (parenthesized_expression "(-1 < (int)uVar24)" ( (binary_expression "-1 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" else (compound_statement "{\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" { (if_statement "if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }" if (parenthesized_expression "(uVar7 == 0x30)" ( (binary_expression "uVar7 == 0x30" identifier == number_literal) )) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }" { (if_statement "if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (binary_expression "**(int **)(pcVar28 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar28 + 0x1cc778)" * (pointer_expression "*(int **)(pcVar28 + 0x1cc778)" * (cast_expression "(int **)(pcVar28 + 0x1cc778)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc778)" ( (binary_expression "pcVar28 + 0x1cc778" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" { (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (binary_expression "**(int **)(pcVar28 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar28 + 0x1cc778)" * (pointer_expression "*(int **)(pcVar28 + 0x1cc778)" * (cast_expression "(int **)(pcVar28 + 0x1cc778)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc778)" ( (binary_expression "pcVar28 + 0x1cc778" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002f532c;" goto statement_identifier ;) })) (expression_statement "iVar2 = 0x69;" (assignment_expression "iVar2 = 0x69" identifier = number_literal) ;) (expression_statement "pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);" (assignment_expression "pcVar27 = *(code **)(pcVar28 + 0x1cc7f4)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1cc7f4)" * (cast_expression "(code **)(pcVar28 + 0x1cc7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc7f4)" ( (binary_expression "pcVar28 + 0x1cc7f4" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);" (assignment_expression "puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" ( (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc6e0)" ( (binary_expression "pcVar28 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" identifier = (cast_expression "(int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" ( (binary_expression "*(int *)(pcVar28 + 0x1cc040) + -0x9b8" (pointer_expression "*(int *)(pcVar28 + 0x1cc040)" * (cast_expression "(int *)(pcVar28 + 0x1cc040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc040)" ( (binary_expression "pcVar28 + 0x1cc040" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar8 = piVar11[1];" (assignment_expression "iVar8 = piVar11[1]" identifier = (subscript_expression "piVar11[1]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "iVar22 = iVar2 - iVar6;" (assignment_expression "iVar22 = iVar2 - iVar6" identifier = (binary_expression "iVar2 - iVar6" identifier - identifier)) ;) (expression_statement "uVar7 = iVar8 - iVar6 >> 2;" (assignment_expression "uVar7 = iVar8 - iVar6 >> 2" identifier = (binary_expression "iVar8 - iVar6 >> 2" (binary_expression "iVar8 - iVar6" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }" { (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" identifier = number_literal) ;) (labeled_statement "LAB_002f558c:\n        iVar10 = uVar20 << 2;" statement_identifier : (expression_statement "iVar10 = uVar20 << 2;" (assignment_expression "iVar10 = uVar20 << 2" identifier = (binary_expression "uVar20 << 2" identifier << number_literal)) ;)) (labeled_statement "LAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10)" identifier = (call_expression "(**(code **)(pcVar27 + 0x1cbfbc))(iVar10)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cbfbc))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cbfbc)" * (pointer_expression "*(code **)(pcVar27 + 0x1cbfbc)" * (cast_expression "(code **)(pcVar27 + 0x1cbfbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cbfbc)" ( (binary_expression "pcVar27 + 0x1cbfbc" identifier + number_literal) ))))) )) (argument_list "(iVar10)" ( identifier )))) ;)) (expression_statement "iVar10 = iVar4 + iVar10;" (assignment_expression "iVar10 = iVar4 + iVar10" identifier = (binary_expression "iVar4 + iVar10" identifier + identifier)) ;) }) (else_clause "else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" else (compound_statement "{\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" { (expression_statement "uVar20 = uVar7 << 1;" (assignment_expression "uVar20 = uVar7 << 1" identifier = (binary_expression "uVar7 << 1" identifier << number_literal)) ;) (if_statement "if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }" if (parenthesized_expression "(uVar20 < uVar7)" ( (binary_expression "uVar20 < uVar7" identifier < identifier) )) (compound_statement "{\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }" { (expression_statement "iVar10 = -4;" (assignment_expression "iVar10 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_002f5460;" goto statement_identifier ;) })) (expression_statement "iVar10 = -4;" (assignment_expression "iVar10 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffff < uVar20) goto LAB_002f5460;" if (parenthesized_expression "(0x3fffffff < uVar20)" ( (binary_expression "0x3fffffff < uVar20" number_literal < identifier) )) (goto_statement "goto LAB_002f5460;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (uVar20 != 0) goto LAB_002f558c;" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002f558c;" goto statement_identifier ;)) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) }))) (expression_statement "iVar21 = iVar4 + iVar22 + 4;" (assignment_expression "iVar21 = iVar4 + iVar22 + 4" identifier = (binary_expression "iVar4 + iVar22 + 4" (binary_expression "iVar4 + iVar22" identifier + identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar4 + iVar22) = *puVar15;" (assignment_expression "*(undefined4 *)(iVar4 + iVar22) = *puVar15" (pointer_expression "*(undefined4 *)(iVar4 + iVar22)" * (cast_expression "(undefined4 *)(iVar4 + iVar22)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar22)" ( (binary_expression "iVar4 + iVar22" identifier + identifier) )))) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "iVar29 = iVar21 + (iVar8 - iVar2);" (assignment_expression "iVar29 = iVar21 + (iVar8 - iVar2)" identifier = (binary_expression "iVar21 + (iVar8 - iVar2)" identifier + (parenthesized_expression "(iVar8 - iVar2)" ( (binary_expression "iVar8 - iVar2" identifier - identifier) )))) ;) (if_statement "if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" if (parenthesized_expression "(iVar6 == iVar2)" ( (binary_expression "iVar6 == iVar2" identifier == identifier) )) (compound_statement "{\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }" { (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1d07bc);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1d07bc)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1d07bc)" * (cast_expression "(code **)(pcVar27 + 0x1d07bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1d07bc)" ( (binary_expression "pcVar27 + 0x1d07bc" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != iVar6) goto LAB_002f54c0;" if (parenthesized_expression "(iVar8 != iVar6)" ( (binary_expression "iVar8 != iVar6" identifier != identifier) )) (goto_statement "goto LAB_002f54c0;" goto statement_identifier ;)) }) (else_clause "else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" else (compound_statement "{\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" { (expression_statement "(**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);" (call_expression "(**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1d070c))" ( (pointer_expression "**(code **)(pcVar27 + 0x1d070c)" * (pointer_expression "*(code **)(pcVar27 + 0x1d070c)" * (cast_expression "(code **)(pcVar27 + 0x1d070c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1d070c)" ( (binary_expression "pcVar27 + 0x1d070c" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar6,iVar22)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar8 == iVar2) goto LAB_002f5514;" if (parenthesized_expression "(iVar8 == iVar2)" ( (binary_expression "iVar8 == iVar2" identifier == identifier) )) (goto_statement "goto LAB_002f5514;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1d07bc);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1d07bc)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1d07bc)" * (cast_expression "(code **)(pcVar27 + 0x1d07bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1d07bc)" ( (binary_expression "pcVar27 + 0x1d07bc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);" statement_identifier : (expression_statement "(*pcVar28)(iVar21,iVar2,iVar8 - iVar2);" (call_expression "(*pcVar28)(iVar21,iVar2,iVar8 - iVar2)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(iVar21,iVar2,iVar8 - iVar2)" ( identifier , identifier , (binary_expression "iVar8 - iVar2" identifier - identifier) ))) ;)) }))) (if_statement "if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }" { (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "piVar11[1] = iVar29;" (assignment_expression "piVar11[1] = iVar29" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11[2] = iVar10;" (assignment_expression "piVar11[2] = iVar10" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);" statement_identifier : (expression_statement "(**(code **)(pcVar27 + 0x1cbf10))(iVar6);" (call_expression "(**(code **)(pcVar27 + 0x1cbf10))(iVar6)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cbf10))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cbf10)" * (pointer_expression "*(code **)(pcVar27 + 0x1cbf10)" * (cast_expression "(code **)(pcVar27 + 0x1cbf10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cbf10)" ( (binary_expression "pcVar27 + 0x1cbf10" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;)) (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "piVar11[1] = iVar29;" (assignment_expression "piVar11[1] = iVar29" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11[2] = iVar10;" (assignment_expression "piVar11[2] = iVar10" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar7 == 0) goto LAB_002f532c;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002f532c;" goto statement_identifier ;)) (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002f529c:\n  (**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);" (call_expression "(**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc7f4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1cc7f4)" * (pointer_expression "*(code **)(pcVar28 + 0x1cc7f4)" * (cast_expression "(code **)(pcVar28 + 0x1cc7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc7f4)" ( (binary_expression "pcVar28 + 0x1cc7f4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768)" ( (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc6e0)" ( (binary_expression "pcVar28 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x7768" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc6e0)" ( (binary_expression "pcVar28 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_002f52c4;" goto statement_identifier ;) (ERROR "}" }))
(translation_unit "/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */\n/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */\n/* DWARF original name: get_fde_addresses<32, false>\n   DWARF original prototype: void get_fde_addresses<32,_false>(Eh_frame_hdr * this, Output_file *\n   of, Fde_offsets * fde_offsets, Fde_addresses<32> * fde_addresses) */\n\nvoid __thiscall\ngold::Eh_frame_hdr::get_fde_addresses<32,_false>\n          (Eh_frame_hdr *this,Output_file *of,Fde_offsets *fde_offsets,\n          Fde_addresses<32> *fde_addresses)\n\n{\n  int iVar1;\n  Fde_addresses<32> *pFVar2;\n  undefined4 *puVar3;\n  byte bVar5;\n  int iVar4;\n  Output_section *pOVar6;\n  uint uVar7;\n  int extraout_v1;\n  Output_file *pOVar8;\n  Eh_frame_hdr *this_00;\n  int *piVar9;\n  undefined4 *puVar10;\n  undefined4 uVar11;\n  size_t size;\n  Output_file *pOVar12;\n  undefined *puVar13;\n  undefined4 *puVar14;\n  undefined4 uVar15;\n  Fde_addresses<32> *pFVar16;\n  undefined4 uVar17;\n  pointer ppVar18;\n  pointer ppVar19;\n  uint uVar20;\n  char cVar23;\n  int *piVar21;\n  int iVar22;\n  Elf_Addr unaff_s1;\n  Elf_Addr eh_frame_address;\n  int iVar24;\n  uchar *puVar25;\n  undefined4 *puVar26;\n  uint uVar27;\n  undefined4 *puVar28;\n  int iVar29;\n  int iVar30;\n  int iVar31;\n  undefined *puVar32;\n  code *pcVar33;\n  code *pcVar34;\n  int iVar35;\n  byte bStackY_e5;\n  undefined4 in_stack_ffffff48;\n  undefined4 in_stack_ffffff4c;\n  Elf_Addr EStack_a8;\n  int iStack_a4;\n  uint uStack_a0;\n  Elf_Addr EStack_9c;\n  uint in_stack_ffffffc0;\n  undefined4 in_stack_ffffffc4;\n  Elf_Addr local_30;\n  int local_2c;\n  \n  puVar32 = PTR_emplace_back<std_pair<unsigned_int,_unsigned_int>_>_004c3a84;\n  pOVar6 = this->eh_frame_section_;\n  iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;\n  pFVar16 = fde_addresses;\n  if (iVar1 < 0) {\n    unaff_s1 = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }\n  iVar1 = 0xc5;\n  puVar13 = PTR_s_in_a_linker_script_004c191c + 0x77bc;\n  puVar32 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  cVar23 = (char)in_stack_ffffffc0;\n  uVar20 = in_stack_ffffffc0 & 0xff;\n  uVar7 = in_stack_ffffffc0 & 7;\n  if (((in_stack_ffffffc0 & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n    if ((in_stack_ffffffc0 & 8) != 0) {\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }\n  }\n  if ((in_stack_ffffffc0 & 0x70) == 0x10) {\n    unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1;\n  }\n  else {\n    if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((in_stack_ffffffc0 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }\n  while( true ) {\n    uVar20 = (uint)cVar23;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar33 = *(code **)(puVar32 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    cVar23 = (char)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }\n  size = 0x69;\n  puVar14 = (undefined4 *)(*(int *)(puVar32 + 0x1cccdc) + 0x77c4);\n  this_00 = (Eh_frame_hdr *)(*(int *)(puVar32 + 0x1cc63c) + -0x9b8);\n  (*pcVar33)();\n  pOVar6 = this_00->eh_frame_section_;\n  iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;\n  uStack_a0 = uVar20;\n  EStack_9c = unaff_s1;\n  if (iVar1 < 0) {\n    eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }\n      (**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar33 + 0x1cccb8))\n              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4);\n  }\n  uVar7 = 0xc5;\n  pcVar34 = *(code **)(pcVar33 + 0x1cccb8);\n  piVar9 = (int *)(*(int *)(pcVar33 + 0x1cc504) + 0x3574);\n  (*pcVar34)(piVar9,0xc5,*(int *)(pcVar33 + 0x1ccba4) + 0x77bc);\n  if (uVar7 < 0x10000000) {\n    puVar14 = (undefined4 *)*piVar9;\n    if (uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)) {\n      return;\n    }\n    puVar28 = (undefined4 *)piVar9[1];\n    iVar1 = (int)puVar28 - (int)puVar14;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar26 = puVar3;\n      puVar10 = puVar14;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }\n    for (; puVar14 != puVar28; puVar14 = puVar14 + 4) {\n      uVar17 = puVar14[1];\n      uVar15 = puVar14[2];\n      uVar11 = puVar14[3];\n      *puVar3 = *puVar14;\n      puVar3[1] = uVar17;\n      puVar3[2] = uVar15;\n      puVar3[3] = uVar11;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar10 != (undefined4 *)0x0) {\n      (**(code **)(pcVar34 + 0x1cc3d4))();\n    }\n    *piVar9 = (int)puVar26;\n    piVar9[1] = (int)puVar26 + iVar1;\n    piVar9[2] = (int)(puVar26 + uVar7 * 4);\n    return;\n  }\n  pcVar33 = *(code **)(pcVar34 + 0x1ccf4c);\n  (*pcVar33)(*(int *)(pcVar34 + 0x1ccb28) + -0xda4);\n  bVar5 = bStackY_e5 & 7;\n  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar11 = 0x10a;\n    goto LAB_002f50d0;\n  }\n  do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);\n  } while( true );\nLAB_002f52c4:\n  uVar7 = uVar27 & 0x70;\n  if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar27 = (uint)(char)uVar27;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar27) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar11 = 0x11d;\n  }\nLAB_002f529c:\n  (**(code **)(pcVar34 + 0x1cc7f4))\n            (*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768);\n  goto LAB_002f52c4;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Eh_frame_hdr::get_fde_addresses<32,_false>\n          (Eh_frame_hdr *this,Output_file *of,Fde_offsets *fde_offsets,\n          Fde_addresses<32> *fde_addresses)\n\n{\n  int iVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Eh_frame_hdr::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "_false>\n          (Eh_frame_hdr *this,Output_file *of,Fde_offsets *fde_offsets,\n          Fde_addresses<32> *fde_addresses)\n\n{\n  int" (function_declarator "_false>\n          (Eh_frame_hdr *this,Output_file *of,Fde_offsets *fde_offsets,\n          Fde_addresses<32> *fde_addresses)" identifier (ERROR ">" >) (parameter_list "(Eh_frame_hdr *this,Output_file *of,Fde_offsets *fde_offsets,\n          Fde_addresses<32> *fde_addresses)" ( (parameter_declaration "Eh_frame_hdr *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *of" type_identifier (pointer_declarator "*of" * identifier)) , (parameter_declaration "Fde_offsets *fde_offsets" type_identifier (pointer_declarator "*fde_offsets" * identifier)) , (parameter_declaration "Fde_addresses<32> *fde_addresses" type_identifier (ERROR "<32>" < number_literal >) (pointer_declarator "*fde_addresses" * identifier)) ))) { primitive_type) identifier ;) (expression_statement "Fde_addresses<32> *pFVar2;" (update_expression "Fde_addresses<32> *pFVar2" (binary_expression "Fde_addresses<32> *pFVar2" (binary_expression "Fde_addresses<32" identifier < number_literal) > (pointer_expression "*pFVar2" * identifier)) --) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "Output_section *pOVar6;" type_identifier (pointer_declarator "*pOVar6" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "Output_file *pOVar8;" type_identifier (pointer_declarator "*pOVar8" * identifier) ;) (declaration "Eh_frame_hdr *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "int *piVar9;" primitive_type (pointer_declarator "*piVar9" * identifier) ;) (declaration "undefined4 *puVar10;" type_identifier (pointer_declarator "*puVar10" * identifier) ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "size_t size;" primitive_type identifier ;) (declaration "Output_file *pOVar12;" type_identifier (pointer_declarator "*pOVar12" * identifier) ;) (declaration "undefined *puVar13;" type_identifier (pointer_declarator "*puVar13" * identifier) ;) (declaration "undefined4 *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 uVar15;" type_identifier identifier ;) (expression_statement "Fde_addresses<32> *pFVar16;" (update_expression "Fde_addresses<32> *pFVar16" (binary_expression "Fde_addresses<32> *pFVar16" (binary_expression "Fde_addresses<32" identifier < number_literal) > (pointer_expression "*pFVar16" * identifier)) --) ;) (declaration "undefined4 uVar17;" type_identifier identifier ;) (declaration "pointer ppVar18;" type_identifier identifier ;) (declaration "pointer ppVar19;" type_identifier identifier ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "char cVar23;" primitive_type identifier ;) (declaration "int *piVar21;" primitive_type (pointer_declarator "*piVar21" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "Elf_Addr unaff_s1;" type_identifier identifier ;) (declaration "Elf_Addr eh_frame_address;" type_identifier identifier ;) (declaration "int iVar24;" primitive_type identifier ;) (declaration "uchar *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined4 *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "uint uVar27;" type_identifier identifier ;) (declaration "undefined4 *puVar28;" type_identifier (pointer_declarator "*puVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "int iVar30;" primitive_type identifier ;) (declaration "int iVar31;" primitive_type identifier ;) (declaration "undefined *puVar32;" type_identifier (pointer_declarator "*puVar32" * identifier) ;) (declaration "code *pcVar33;" type_identifier (pointer_declarator "*pcVar33" * identifier) ;) (declaration "code *pcVar34;" type_identifier (pointer_declarator "*pcVar34" * identifier) ;) (declaration "int iVar35;" primitive_type identifier ;) (declaration "byte bStackY_e5;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff48;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffff4c;" type_identifier identifier ;) (declaration "Elf_Addr EStack_a8;" type_identifier identifier ;) (declaration "int iStack_a4;" primitive_type identifier ;) (declaration "uint uStack_a0;" type_identifier identifier ;) (declaration "Elf_Addr EStack_9c;" type_identifier identifier ;) (declaration "uint in_stack_ffffffc0;" type_identifier identifier ;) (declaration "undefined4 in_stack_ffffffc4;" type_identifier identifier ;) (declaration "Elf_Addr local_30;" type_identifier identifier ;) (declaration "int local_2c;" primitive_type identifier ;) (expression_statement "puVar32 = PTR_emplace_back<std_pair<unsigned_int,_unsigned_int>_>_004c3a84;" (update_expression "puVar32 = PTR_emplace_back<std_pair<unsigned_int,_unsigned_int>_>_004c3a84" (binary_expression "puVar32 = PTR_emplace_back<std_pair<unsigned_int,_unsigned_int>_>_004c3a84" (binary_expression "puVar32 = PTR_emplace_back<std_pair<unsigned_int,_unsigned_int>_" (assignment_expression "puVar32 = PTR_emplace_back<std_pair<unsigned_int" identifier = (binary_expression "PTR_emplace_back<std_pair<unsigned_int" (binary_expression "PTR_emplace_back<std_pair" identifier < identifier) < identifier)) (ERROR ",_unsigned_int" , identifier) > identifier) > identifier) --) ;) (expression_statement "pOVar6 = this->eh_frame_section_;" (assignment_expression "pOVar6 = this->eh_frame_section_" identifier = (field_expression "this->eh_frame_section_" identifier -> field_identifier)) ;) (expression_statement "iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;" (assignment_expression "iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20" identifier = (pointer_expression "*(int *)&(pOVar6->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar6->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar6->super_Output_data).field_0x20" & (field_expression "(pOVar6->super_Output_data).field_0x20" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "pFVar16 = fde_addresses;" (assignment_expression "pFVar16 = fde_addresses" identifier = identifier) ;) (if_statement "if (iVar1 < 0) {\n    unaff_s1 = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }\n  iVar1 = 0xc5;\n  puVar13 = PTR_s_in_a_linker_script_004c191c + 0x77bc;\n  puVar32 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  cVar23 = (char)in_stack_ffffffc0;\n  uVar20 = in_stack_ffffffc0 & 0xff;\n  uVar7 = in_stack_ffffffc0 & 7;\n  if (((in_stack_ffffffc0 & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n    if ((in_stack_ffffffc0 & 8) != 0) {\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }\n  }\n  if ((in_stack_ffffffc0 & 0x70) == 0x10) {\n    unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1;\n  }\n  else {\n    if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((in_stack_ffffffc0 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }\n  while( true ) {\n    uVar20 = (uint)cVar23;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar33 = *(code **)(puVar32 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    cVar23 = (char)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }\n  size = 0x69;\n  puVar14 = (undefined4 *)(*(int *)(puVar32 + 0x1cccdc) + 0x77c4);\n  this_00 = (Eh_frame_hdr *)(*(int *)(puVar32 + 0x1cc63c) + -0x9b8);\n  (*pcVar33)();\n  pOVar6 = this_00->eh_frame_section_;\n  iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;\n  uStack_a0 = uVar20;\n  EStack_9c = unaff_s1;\n  if (iVar1 < 0) {\n    eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }\n      (**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar33 + 0x1cccb8))\n              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4);\n  }\n  uVar7 = 0xc5;\n  pcVar34 = *(code **)(pcVar33 + 0x1cccb8);\n  piVar9 = (int *)(*(int *)(pcVar33 + 0x1cc504) + 0x3574);\n  (*pcVar34)(piVar9,0xc5,*(int *)(pcVar33 + 0x1ccba4) + 0x77bc);\n  if (uVar7 < 0x10000000) {\n    puVar14 = (undefined4 *)*piVar9;\n    if (uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)) {\n      return;\n    }\n    puVar28 = (undefined4 *)piVar9[1];\n    iVar1 = (int)puVar28 - (int)puVar14;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar26 = puVar3;\n      puVar10 = puVar14;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }\n    for (; puVar14 != puVar28; puVar14 = puVar14 + 4) {\n      uVar17 = puVar14[1];\n      uVar15 = puVar14[2];\n      uVar11 = puVar14[3];\n      *puVar3 = *puVar14;\n      puVar3[1] = uVar17;\n      puVar3[2] = uVar15;\n      puVar3[3] = uVar11;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar10 != (undefined4 *)0x0) {\n      (**(code **)(pcVar34 + 0x1cc3d4))();\n    }\n    *piVar9 = (int)puVar26;\n    piVar9[1] = (int)puVar26 + iVar1;\n    piVar9[2] = (int)(puVar26 + uVar7 * 4);\n    return;\n  }\n  pcVar33 = *(code **)(pcVar34 + 0x1ccf4c);\n  (*pcVar33)(*(int *)(pcVar34 + 0x1ccb28) + -0xda4);\n  bVar5 = bStackY_e5 & 7;\n  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar11 = 0x10a;\n    goto LAB_002f50d0;\n  }\n  do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);\n  } while( true );\nLAB_002f52c4:\n  uVar7 = uVar27 & 0x70;\n  if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar27 = (uint)(char)uVar27;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar27) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar11 = 0x11d;\n  }\nLAB_002f529c:\n  (**(code **)(pcVar34 + 0x1cc7f4))\n            (*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768);\n  goto LAB_002f52c4;\n}" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n    unaff_s1 = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }\n  iVar1 = 0xc5;\n  puVar13 = PTR_s_in_a_linker_script_004c191c + 0x77bc;\n  puVar32 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  cVar23 = (char)in_stack_ffffffc0;\n  uVar20 = in_stack_ffffffc0 & 0xff;\n  uVar7 = in_stack_ffffffc0 & 7;\n  if (((in_stack_ffffffc0 & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n    if ((in_stack_ffffffc0 & 8) != 0) {\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }\n  }\n  if ((in_stack_ffffffc0 & 0x70) == 0x10) {\n    unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1;\n  }\n  else {\n    if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((in_stack_ffffffc0 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }\n  while( true ) {\n    uVar20 = (uint)cVar23;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar33 = *(code **)(puVar32 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    cVar23 = (char)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }\n  size = 0x69;\n  puVar14 = (undefined4 *)(*(int *)(puVar32 + 0x1cccdc) + 0x77c4);\n  this_00 = (Eh_frame_hdr *)(*(int *)(puVar32 + 0x1cc63c) + -0x9b8);\n  (*pcVar33)();\n  pOVar6 = this_00->eh_frame_section_;\n  iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;\n  uStack_a0 = uVar20;\n  EStack_9c = unaff_s1;\n  if (iVar1 < 0) {\n    eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }\n      (**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar33 + 0x1cccb8))\n              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4);\n  }\n  uVar7 = 0xc5;\n  pcVar34 = *(code **)(pcVar33 + 0x1cccb8);\n  piVar9 = (int *)(*(int *)(pcVar33 + 0x1cc504) + 0x3574);\n  (*pcVar34)(piVar9,0xc5,*(int *)(pcVar33 + 0x1ccba4) + 0x77bc);\n  if (uVar7 < 0x10000000) {\n    puVar14 = (undefined4 *)*piVar9;\n    if (uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)) {\n      return;\n    }\n    puVar28 = (undefined4 *)piVar9[1];\n    iVar1 = (int)puVar28 - (int)puVar14;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar26 = puVar3;\n      puVar10 = puVar14;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }\n    for (; puVar14 != puVar28; puVar14 = puVar14 + 4) {\n      uVar17 = puVar14[1];\n      uVar15 = puVar14[2];\n      uVar11 = puVar14[3];\n      *puVar3 = *puVar14;\n      puVar3[1] = uVar17;\n      puVar3[2] = uVar15;\n      puVar3[3] = uVar11;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar10 != (undefined4 *)0x0) {\n      (**(code **)(pcVar34 + 0x1cc3d4))();\n    }\n    *piVar9 = (int)puVar26;\n    piVar9[1] = (int)puVar26 + iVar1;\n    piVar9[2] = (int)(puVar26 + uVar7 * 4);\n    return;\n  }\n  pcVar33 = *(code **)(pcVar34 + 0x1ccf4c);\n  (*pcVar33)(*(int *)(pcVar34 + 0x1ccb28) + -0xda4);\n  bVar5 = bStackY_e5 & 7;\n  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar11 = 0x10a;\n    goto LAB_002f50d0;\n  }\n  do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);\n  } while( true );\nLAB_002f52c4:\n  uVar7 = uVar27 & 0x70;\n  if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar27 = (uint)(char)uVar27;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar27) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar11 = 0x11d;\n  }\nLAB_002f529c:\n  (**(code **)(pcVar34 + 0x1cc7f4))\n            (*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768);\n  goto LAB_002f52c4;\n}" { (expression_statement "unaff_s1 = (Elf_Addr)(pOVar6->super_Output_data).address_;" (assignment_expression "unaff_s1 = (Elf_Addr)(pOVar6->super_Output_data).address_" identifier = (field_expression "(Elf_Addr)(pOVar6->super_Output_data).address_" (call_expression "(Elf_Addr)(pOVar6->super_Output_data)" (parenthesized_expression "(Elf_Addr)" ( identifier )) (argument_list "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" if (parenthesized_expression "(iVar1 << 2 < 0)" ( (binary_expression "iVar1 << 2 < 0" (binary_expression "iVar1 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" { (expression_statement "pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);" (assignment_expression "pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4)" identifier = (pointer_expression "*(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4)" * (cast_expression "(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(pOVar6->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar6->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar6->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar6->super_Output_data).offset_" & (field_expression "(pOVar6->super_Output_data).offset_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;" (assignment_expression "pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_" identifier = (pointer_expression "*(Output_file **)&(pOVar6->super_Output_data).offset_" * (cast_expression "(Output_file **)&(pOVar6->super_Output_data).offset_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pOVar6->super_Output_data).offset_" & (field_expression "(pOVar6->super_Output_data).offset_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (iVar1 << 1 < 0) {\n        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" if (parenthesized_expression "(iVar1 << 1 < 0)" ( (binary_expression "iVar1 << 1 < 0" (binary_expression "iVar1 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);\n        if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" { (expression_statement "pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);" (assignment_expression "pFVar2 = *(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4)" identifier = (pointer_expression "*(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4)" * (call_expression "(Fde_addresses<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4)" (parenthesized_expression "(Fde_addresses<32> **)" ( (binary_expression "Fde_addresses<32> **" (binary_expression "Fde_addresses<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)&(pOVar6->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(pOVar6->super_Output_data).data_size_ + 4" (cast_expression "(int)&(pOVar6->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar6->super_Output_data).data_size_" & (field_expression "(pOVar6->super_Output_data).data_size_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (if_statement "if (-1 < (int)pOVar12) {\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }" if (parenthesized_expression "(-1 < (int)pOVar12)" ( (binary_expression "-1 < (int)pOVar12" number_literal < (cast_expression "(int)pOVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);\n          iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);\n          pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);\n      }" { (expression_statement "pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_);" (assignment_expression "pFVar16 = (Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_)" identifier = (call_expression "(Fde_addresses<32> *)((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_)" (parenthesized_expression "(Fde_addresses<32> *)" ( (binary_expression "Fde_addresses<32> *" (binary_expression "Fde_addresses<32" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_)" ( (binary_expression "(int)&pOVar8->name_ + (int)&pFVar2->fde_addresses_" (cast_expression "(int)&pOVar8->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar8->name_" & (field_expression "pOVar8->name_" identifier -> field_identifier))) + (cast_expression "(int)&pFVar2->fde_addresses_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pFVar2->fde_addresses_" & (field_expression "pFVar2->fde_addresses_" identifier -> field_identifier)))) )))) ;) (expression_statement "iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2);" (assignment_expression "iVar1 = (int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2)" identifier = (binary_expression "(int)&pOVar12->name_ + (uint)(pFVar16 < pFVar2)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (call_expression "(uint)(pFVar16 < pFVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pFVar16 < pFVar2)" ( (binary_expression "pFVar16 < pFVar2" identifier < identifier) ))))) ;) (expression_statement "pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1);" (assignment_expression "pOVar12 = (Output_file *)(uint)(*(int *)&of->file_size_ < iVar1)" identifier = (cast_expression "(Output_file *)(uint)(*(int *)&of->file_size_ < iVar1)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)&of->file_size_ < iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)&of->file_size_ < iVar1)" ( (binary_expression "*(int *)&of->file_size_ < iVar1" (pointer_expression "*(int *)&of->file_size_" * (cast_expression "(int *)&of->file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))) < identifier) ))))) ;) (if_statement "if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12);" if (parenthesized_expression "((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12)" ( (comma_expression "(pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4),(size_t)of,pOVar12" (binary_expression "(pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4)" (parenthesized_expression "(pOVar12 == (Output_file *)0x0)" ( (binary_expression "pOVar12 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))) {\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4)" ( (ERROR "(*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0))))" (parenthesized_expression "(*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0))))" ( (binary_expression "*(int *)&of->file_size_ != iVar1 ||\n              (pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))" (binary_expression "*(int *)&of->file_size_ != iVar1" (pointer_expression "*(int *)&of->file_size_" * (cast_expression "(int *)&of->file_size_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier)))) != identifier) || (parenthesized_expression "(pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)))" ( (assignment_expression "pFVar16 = (Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0))" identifier = (parenthesized_expression "(Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0))" ( (comma_expression "Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16),\n              pFVar16 == (Fde_addresses<32> *)0x0)" (binary_expression "Fde_addresses<32> *)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16)" (binary_expression "Fde_addresses<32" identifier < number_literal) > (pointer_expression "*)\n                         (uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16)" * (ERROR ")" )) (call_expression "(uint)(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16)" ( (binary_expression "*(Fde_addresses<32> **)((int)&of->file_size_ + 4) < pFVar16" (pointer_expression "*(Fde_addresses<32> **)((int)&of->file_size_ + 4)" * (call_expression "(Fde_addresses<32> **)((int)&of->file_size_ + 4)" (parenthesized_expression "(Fde_addresses<32> **)" ( (binary_expression "Fde_addresses<32> **" (binary_expression "Fde_addresses<32" identifier < number_literal) > (pointer_expression "**" * (pointer_expression "*" * identifier))) )) (argument_list "((int)&of->file_size_ + 4)" ( (binary_expression "(int)&of->file_size_ + 4" (cast_expression "(int)&of->file_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&of->file_size_" & (field_expression "of->file_size_" identifier -> field_identifier))) + number_literal) )))) < identifier) ))))) , (binary_expression "pFVar16 == (Fde_addresses<32> *)0x0)" identifier == (parenthesized_expression "(Fde_addresses<32> *)0x0)" ( (binary_expression "Fde_addresses<32> *)0x0" (binary_expression "Fde_addresses<32" identifier < number_literal) > (pointer_expression "*)0x0" * (ERROR ")" )) number_literal)) )))) ))) ))) ))) (compound_statement "{\n            puVar25 = of->base_;\n            ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;\n            if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }\n            return;\n          }" { (expression_statement "puVar25 = of->base_;" (assignment_expression "puVar25 = of->base_" identifier = (field_expression "of->base_" identifier -> field_identifier)) ;) (expression_statement "ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start;" (assignment_expression "ppVar18 = (fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start" identifier = (field_expression "(fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl._M_start" (field_expression "(fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )._M_impl" (parenthesized_expression "(fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                      )" ( (ERROR "fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::" (comma_expression "fde_offsets->\n                      super__Vector_base<std::pair<int,_unsigned_char>,_std" (binary_expression "fde_offsets->\n                      super__Vector_base<std::pair<int" (binary_expression "fde_offsets->\n                      super__Vector_base<std" (field_expression "fde_offsets->\n                      super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<int,_unsigned_char>_>_" (binary_expression "pair<int" identifier < identifier) , (binary_expression "_unsigned_char>_>_" (binary_expression "_unsigned_char>_" identifier > identifier) > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier)) ;) (if_statement "if (ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish) {\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }" if (parenthesized_expression "(ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish)" ( (binary_expression "ppVar18 !=\n                (fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish" identifier != (field_expression "(fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl._M_finish" (field_expression "(fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )._M_impl" (parenthesized_expression "(fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                )" ( (ERROR "fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::" (comma_expression "fde_offsets->\n                super__Vector_base<std::pair<int,_unsigned_char>,_std" (binary_expression "fde_offsets->\n                super__Vector_base<std::pair<int" (binary_expression "fde_offsets->\n                super__Vector_base<std" (field_expression "fde_offsets->\n                super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<int,_unsigned_char>_>_" (binary_expression "pair<int" identifier < identifier) , (binary_expression "_unsigned_char>_>_" (binary_expression "_unsigned_char>_" identifier > identifier) > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier)) )) (compound_statement "{\n              do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);\n            }" { (do_statement "do {\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              } while ((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19);" do (compound_statement "{\n                ppVar19 = ppVar18 + 1;\n                local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);\n                local_2c = unaff_s1 + ppVar18->first;\n                (*(code *)puVar32)(fde_addresses,&local_30);\n                ppVar18 = ppVar19;\n              }" { (expression_statement "ppVar19 = ppVar18 + 1;" (assignment_expression "ppVar19 = ppVar18 + 1" identifier = (binary_expression "ppVar18 + 1" identifier + number_literal)) ;) (expression_statement "local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second);" (comma_expression "local_30 = get_fde_pc<32,_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second)" (assignment_expression "local_30 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "_false>\n                                     (this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second)" identifier > (parenthesized_expression "(this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second)" ( (comma_expression "this,unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second" identifier , (comma_expression "unaff_s1,puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second" identifier , (comma_expression "puVar25 + (int)pOVar8,ppVar18->first,\n                                      ppVar18->second" (binary_expression "puVar25 + (int)pOVar8" identifier + (cast_expression "(int)pOVar8" ( (type_descriptor "int" primitive_type) ) identifier)) , (comma_expression "ppVar18->first,\n                                      ppVar18->second" (field_expression "ppVar18->first" identifier -> field_identifier) , (field_expression "ppVar18->second" identifier -> field_identifier))))) )))) ;) (expression_statement "local_2c = unaff_s1 + ppVar18->first;" (assignment_expression "local_2c = unaff_s1 + ppVar18->first" identifier = (binary_expression "unaff_s1 + ppVar18->first" identifier + (field_expression "ppVar18->first" identifier -> field_identifier))) ;) (expression_statement "(*(code *)puVar32)(fde_addresses,&local_30);" (call_expression "(*(code *)puVar32)(fde_addresses,&local_30)" (parenthesized_expression "(*(code *)puVar32)" ( (pointer_expression "*(code *)puVar32" * (cast_expression "(code *)puVar32" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(fde_addresses,&local_30)" ( identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "ppVar18 = ppVar19;" (assignment_expression "ppVar18 = ppVar19" identifier = identifier) ;) }) while (parenthesized_expression "((fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19)" ( (binary_expression "(fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish != ppVar19" (field_expression "(fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl._M_finish" (field_expression "(fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )._M_impl" (parenthesized_expression "(fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::pair<int,_unsigned_char>_>_>\n                       )" ( (ERROR "fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std::allocator<std::" (comma_expression "fde_offsets->\n                       super__Vector_base<std::pair<int,_unsigned_char>,_std" (binary_expression "fde_offsets->\n                       super__Vector_base<std::pair<int" (binary_expression "fde_offsets->\n                       super__Vector_base<std" (field_expression "fde_offsets->\n                       super__Vector_base" identifier -> field_identifier) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_char>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<int,_unsigned_char>_>_" (binary_expression "pair<int" identifier < identifier) , (binary_expression "_unsigned_char>_>_" (binary_expression "_unsigned_char>_" identifier > identifier) > identifier)) (ERROR ">" >) )) . field_identifier) . field_identifier) != identifier) )) ;) })) (return_statement "return;" return ;) }) (ERROR "}\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffffc0,in_stack_ffffffc4" } identifier : : identifier ( identifier , identifier ( identifier , identifier) ))) , (comma_expression "(size_t)of,pOVar12" (cast_expression "(size_t)of" ( (type_descriptor "size_t" primitive_type) ) identifier) , identifier)) )) (expression_statement ";" ;)) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77e8" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77f4" identifier + number_literal) ))) ;) })) (expression_statement "iVar1 = 0xc5;" (assignment_expression "iVar1 = 0xc5" identifier = number_literal) ;) (expression_statement "puVar13 = PTR_s_in_a_linker_script_004c191c + 0x77bc;" (assignment_expression "puVar13 = PTR_s_in_a_linker_script_004c191c + 0x77bc" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77bc" identifier + number_literal)) ;) (expression_statement "puVar32 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar32 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) ))) ;) (expression_statement "cVar23 = (char)in_stack_ffffffc0;" (assignment_expression "cVar23 = (char)in_stack_ffffffc0" identifier = (cast_expression "(char)in_stack_ffffffc0" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "uVar20 = in_stack_ffffffc0 & 0xff;" (assignment_expression "uVar20 = in_stack_ffffffc0 & 0xff" identifier = (binary_expression "in_stack_ffffffc0 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar7 = in_stack_ffffffc0 & 7;" (assignment_expression "uVar7 = in_stack_ffffffc0 & 7" identifier = (binary_expression "in_stack_ffffffc0 & 7" identifier & number_literal)) ;) (if_statement "if (((in_stack_ffffffc0 & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n    if ((in_stack_ffffffc0 & 8) != 0) {\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }\n  }" if (parenthesized_expression "(((in_stack_ffffffc0 & 7) == 0) || (uVar7 == 3))" ( (binary_expression "((in_stack_ffffffc0 & 7) == 0) || (uVar7 == 3)" (parenthesized_expression "((in_stack_ffffffc0 & 7) == 0)" ( (binary_expression "(in_stack_ffffffc0 & 7) == 0" (parenthesized_expression "(in_stack_ffffffc0 & 7)" ( (binary_expression "in_stack_ffffffc0 & 7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar7 == 3)" ( (binary_expression "uVar7 == 3" identifier == number_literal) ))) )) (compound_statement "{\n    unaff_s1 = *(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n  }" { (expression_statement "unaff_s1 = *(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);" (assignment_expression "unaff_s1 = *(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" identifier = (pointer_expression "*(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" * (cast_expression "(Elf_Addr *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" ( (ERROR "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int" (binary_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std" (binary_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base" identifier + (cast_expression "(int)&(pFVar16->fde_addresses_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar16->fde_addresses_).\n                      super__Vector_base" & (field_expression "(pFVar16->fde_addresses_).\n                      super__Vector_base" (parenthesized_expression "(pFVar16->fde_addresses_)" ( (field_expression "pFVar16->fde_addresses_" identifier -> field_identifier) )) . field_identifier)))) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage" (field_expression "_unsigned_int>_>_>\n                      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ))))) ;) }) (else_clause "else {\n    if (uVar7 == 4) {\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n    if ((in_stack_ffffffc0 & 8) != 0) {\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }\n  }" else (compound_statement "{\n    if (uVar7 == 4) {\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);\n    if ((in_stack_ffffffc0 & 8) != 0) {\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }\n  }" { (if_statement "if (uVar7 == 4) {\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "(uVar7 == 4)" ( (binary_expression "uVar7 == 4" identifier == number_literal) )) (compound_statement "{\n      uVar11 = 0x104;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar11 = 0x104;" (assignment_expression "uVar11 = 0x104" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) (if_statement "if (uVar7 != 2) {\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "(uVar7 != 2)" ( (binary_expression "uVar7 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar11 = 0x10a;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) (expression_statement "unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage);" (assignment_expression "unaff_s1 = (Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" identifier = (binary_expression "(Elf_Addr)\n               *(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" (parenthesized_expression "(Elf_Addr)" ( identifier )) * (cast_expression "(ushort *)\n                (puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage)" ( (ERROR "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std::pair<unsigned_int" (binary_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base<std" (binary_expression "puVar13 +\n                (int)&(pFVar16->fde_addresses_).\n                      super__Vector_base" identifier + (cast_expression "(int)&(pFVar16->fde_addresses_).\n                      super__Vector_base" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar16->fde_addresses_).\n                      super__Vector_base" & (field_expression "(pFVar16->fde_addresses_).\n                      super__Vector_base" (parenthesized_expression "(pFVar16->fde_addresses_)" ( (field_expression "pFVar16->fde_addresses_" identifier -> field_identifier) )) . field_identifier)))) < identifier) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage" (binary_expression "pair<unsigned_int" identifier < identifier) , (field_expression "_unsigned_int>_>_>\n                      ._M_impl._M_end_of_storage" (field_expression "_unsigned_int>_>_>\n                      ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier)) ))))) ;) (if_statement "if ((in_stack_ffffffc0 & 8) != 0) {\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }" if (parenthesized_expression "((in_stack_ffffffc0 & 8) != 0)" ( (binary_expression "(in_stack_ffffffc0 & 8) != 0" (parenthesized_expression "(in_stack_ffffffc0 & 8)" ( (binary_expression "in_stack_ffffffc0 & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;\n    }" { (expression_statement "unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000;" (assignment_expression "unaff_s1 = (unaff_s1 ^ 0x8000) - 0x8000" identifier = (binary_expression "(unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "(unaff_s1 ^ 0x8000)" ( (binary_expression "unaff_s1 ^ 0x8000" identifier ^ number_literal) )) - number_literal)) ;) })) }))) (if_statement "if ((in_stack_ffffffc0 & 0x70) == 0x10) {\n    unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1;\n  }\n  else {\n    if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((in_stack_ffffffc0 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" if (parenthesized_expression "((in_stack_ffffffc0 & 0x70) == 0x10)" ( (binary_expression "(in_stack_ffffffc0 & 0x70) == 0x10" (parenthesized_expression "(in_stack_ffffffc0 & 0x70)" ( (binary_expression "in_stack_ffffffc0 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::pair<unsigned_int,_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1;\n  }" { (ERROR "unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std::allocator<std::" (comma_expression "unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int,_unsigned_int>,_std" (binary_expression "unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std::pair<unsigned_int" (assignment_expression "unaff_s1 = (int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std" identifier = (binary_expression "(int)&(pFVar16->fde_addresses_).\n                     super__Vector_base<std" (cast_expression "(int)&(pFVar16->fde_addresses_).\n                     super__Vector_base" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pFVar16->fde_addresses_).\n                     super__Vector_base" & (field_expression "(pFVar16->fde_addresses_).\n                     super__Vector_base" (parenthesized_expression "(pFVar16->fde_addresses_)" ( (field_expression "pFVar16->fde_addresses_" identifier -> field_identifier) )) . field_identifier))) < identifier)) (ERROR "::pair" : : identifier) < identifier) , (binary_expression "_unsigned_int>,_std" identifier > (ERROR "," ,) identifier)) : : (binary_expression "allocator<std" identifier < identifier) : :) (expression_statement "pair<unsigned_int,_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1;" (comma_expression "pair<unsigned_int,_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1" (binary_expression "pair<unsigned_int" identifier < identifier) , (binary_expression "_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1 + iVar1" (binary_expression "_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage + unaff_s1" (field_expression "_unsigned_int>_>_>\n                     ._M_impl._M_end_of_storage" (field_expression "_unsigned_int>_>_>\n                     ._M_impl" (binary_expression "_unsigned_int>_>_" (binary_expression "_unsigned_int>_" identifier > identifier) > identifier) (ERROR ">" >) . field_identifier) . field_identifier) + identifier) + identifier)) ;) }) (else_clause "else {\n    if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((in_stack_ffffffc0 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" else (compound_statement "{\n    if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((in_stack_ffffffc0 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" { (if_statement "if ((in_stack_ffffffc0 & 0x70) == 0x30) goto LAB_002f4d20;" if (parenthesized_expression "((in_stack_ffffffc0 & 0x70) == 0x30)" ( (binary_expression "(in_stack_ffffffc0 & 0x70) == 0x30" (parenthesized_expression "(in_stack_ffffffc0 & 0x70)" ( (binary_expression "in_stack_ffffffc0 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002f4d20;" goto statement_identifier ;)) (if_statement "if ((in_stack_ffffffc0 & 0x70) != 0) {\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "((in_stack_ffffffc0 & 0x70) != 0)" ( (binary_expression "(in_stack_ffffffc0 & 0x70) != 0" (parenthesized_expression "(in_stack_ffffffc0 & 0x70)" ( (binary_expression "in_stack_ffffffc0 & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar11 = 0x11d;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) }))) (while_statement "while( true ) {\n    uVar20 = (uint)cVar23;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar33 = *(code **)(puVar32 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    cVar23 = (char)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar20 = (uint)cVar23;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar33 = *(code **)(puVar32 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    cVar23 = (char)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" { (expression_statement "uVar20 = (uint)cVar23;" (assignment_expression "uVar20 = (uint)cVar23" identifier = (cast_expression "(uint)cVar23" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar20) {\n      return;\n    }" if (parenthesized_expression "(-1 < (int)uVar20)" ( (binary_expression "-1 < (int)uVar20" number_literal < (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_002f4d08:\n    (**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);" statement_identifier : (expression_statement "(**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0);" (call_expression "(**(code **)(puVar32 + 0x1ccdf0))\n              (*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0)" (parenthesized_expression "(**(code **)(puVar32 + 0x1ccdf0))" ( (pointer_expression "**(code **)(puVar32 + 0x1ccdf0)" * (pointer_expression "*(code **)(puVar32 + 0x1ccdf0)" * (cast_expression "(code **)(puVar32 + 0x1ccdf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x1ccdf0)" ( (binary_expression "puVar32 + 0x1ccdf0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar32 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(puVar32 + 0x1cccdc) + 0x77a0)" ( (binary_expression "*(int *)(puVar32 + 0x1cccdc) + 0x75a4" (pointer_expression "*(int *)(puVar32 + 0x1cccdc)" * (cast_expression "(int *)(puVar32 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x1cccdc)" ( (binary_expression "puVar32 + 0x1cccdc" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(puVar32 + 0x1cccdc) + 0x77a0" (pointer_expression "*(int *)(puVar32 + 0x1cccdc)" * (cast_expression "(int *)(puVar32 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x1cccdc)" ( (binary_expression "puVar32 + 0x1cccdc" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_002f4d20:\n    pcVar33 = *(code **)(puVar32 + 0x1ccdf0);" statement_identifier : (expression_statement "pcVar33 = *(code **)(puVar32 + 0x1ccdf0);" (assignment_expression "pcVar33 = *(code **)(puVar32 + 0x1ccdf0)" identifier = (pointer_expression "*(code **)(puVar32 + 0x1ccdf0)" * (cast_expression "(code **)(puVar32 + 0x1ccdf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x1ccdf0)" ( (binary_expression "puVar32 + 0x1ccdf0" identifier + number_literal) ))))) ;)) (if_statement "if (*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0) break;" if (parenthesized_expression "(*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) == (int *)0x0" (pointer_expression "*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc)" * (cast_expression "(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar32 + 0x1ccd74) + 0xc)" ( (binary_expression "**(int **)(puVar32 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar32 + 0x1ccd74)" * (pointer_expression "*(int **)(puVar32 + 0x1ccd74)" * (cast_expression "(int **)(puVar32 + 0x1ccd74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x1ccd74)" ( (binary_expression "puVar32 + 0x1ccd74" identifier + number_literal) ))))) + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "cVar23 = (char)uVar20;" (assignment_expression "cVar23 = (char)uVar20" identifier = (cast_expression "(char)uVar20" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "(**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc)" * (pointer_expression "*(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc)" * (cast_expression "(int **)(**(int **)(puVar32 + 0x1ccd74) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar32 + 0x1ccd74) + 0xc)" ( (binary_expression "**(int **)(puVar32 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar32 + 0x1ccd74)" * (pointer_expression "*(int **)(puVar32 + 0x1ccd74)" * (cast_expression "(int **)(puVar32 + 0x1ccd74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar32 + 0x1ccd74)" ( (binary_expression "puVar32 + 0x1ccd74" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s1 = unaff_s1 + extraout_v1;" (assignment_expression "unaff_s1 = unaff_s1 + extraout_v1" identifier = (binary_expression "unaff_s1 + extraout_v1" identifier + identifier)) ;) })) (expression_statement "size = 0x69;" (assignment_expression "size = 0x69" identifier = number_literal) ;) (expression_statement "puVar14 = (undefined4 *)(*(int *)(puVar32 + 0x1cccdc) + 0x77c4);" (assignment_expression "puVar14 = (undefined4 *)(*(int *)(puVar32 + 0x1cccdc) + 0x77c4)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar32 + 0x1cccdc) + 0x77c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x1cccdc) + 0x77c4)" ( (binary_expression "*(int *)(puVar32 + 0x1cccdc) + 0x77c4" (pointer_expression "*(int *)(puVar32 + 0x1cccdc)" * (cast_expression "(int *)(puVar32 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x1cccdc)" ( (binary_expression "puVar32 + 0x1cccdc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "this_00 = (Eh_frame_hdr *)(*(int *)(puVar32 + 0x1cc63c) + -0x9b8);" (assignment_expression "this_00 = (Eh_frame_hdr *)(*(int *)(puVar32 + 0x1cc63c) + -0x9b8)" identifier = (cast_expression "(Eh_frame_hdr *)(*(int *)(puVar32 + 0x1cc63c) + -0x9b8)" ( (type_descriptor "Eh_frame_hdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar32 + 0x1cc63c) + -0x9b8)" ( (binary_expression "*(int *)(puVar32 + 0x1cc63c) + -0x9b8" (pointer_expression "*(int *)(puVar32 + 0x1cc63c)" * (cast_expression "(int *)(puVar32 + 0x1cc63c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar32 + 0x1cc63c)" ( (binary_expression "puVar32 + 0x1cc63c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "pOVar6 = this_00->eh_frame_section_;" (assignment_expression "pOVar6 = this_00->eh_frame_section_" identifier = (field_expression "this_00->eh_frame_section_" identifier -> field_identifier)) ;) (expression_statement "iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20;" (assignment_expression "iVar1 = *(int *)&(pOVar6->super_Output_data).field_0x20" identifier = (pointer_expression "*(int *)&(pOVar6->super_Output_data).field_0x20" * (cast_expression "(int *)&(pOVar6->super_Output_data).field_0x20" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar6->super_Output_data).field_0x20" & (field_expression "(pOVar6->super_Output_data).field_0x20" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (expression_statement "uStack_a0 = uVar20;" (assignment_expression "uStack_a0 = uVar20" identifier = identifier) ;) (expression_statement "EStack_9c = unaff_s1;" (assignment_expression "EStack_9c = unaff_s1" identifier = identifier) ;) (if_statement "if (iVar1 < 0) {\n    eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }\n      (**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar33 + 0x1cccb8))\n              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4);\n  }" if (parenthesized_expression "(iVar1 < 0)" ( (binary_expression "iVar1 < 0" identifier < number_literal) )) (compound_statement "{\n    eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_;\n    if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }\n      (**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar33 + 0x1cccb8))\n              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4);\n  }" { (expression_statement "eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_;" (assignment_expression "eh_frame_address = (Elf_Addr)(pOVar6->super_Output_data).address_" identifier = (field_expression "(Elf_Addr)(pOVar6->super_Output_data).address_" (call_expression "(Elf_Addr)(pOVar6->super_Output_data)" (parenthesized_expression "(Elf_Addr)" ( identifier )) (argument_list "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (iVar1 << 2 < 0) {\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }\n      (**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);\n    }" if (parenthesized_expression "(iVar1 << 2 < 0)" ( (binary_expression "iVar1 << 2 < 0" (binary_expression "iVar1 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);\n      pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;\n      if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }\n      (**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);\n    }" { (expression_statement "pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4);" (assignment_expression "pOVar8 = *(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4)" identifier = (pointer_expression "*(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4)" * (cast_expression "(Output_file **)((int)&(pOVar6->super_Output_data).offset_ + 4)" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((int)&(pOVar6->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar6->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar6->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar6->super_Output_data).offset_" & (field_expression "(pOVar6->super_Output_data).offset_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) ))))) ;) (expression_statement "pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_;" (assignment_expression "pOVar12 = *(Output_file **)&(pOVar6->super_Output_data).offset_" identifier = (pointer_expression "*(Output_file **)&(pOVar6->super_Output_data).offset_" * (cast_expression "(Output_file **)&(pOVar6->super_Output_data).offset_" ( (type_descriptor "Output_file **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&(pOVar6->super_Output_data).offset_" & (field_expression "(pOVar6->super_Output_data).offset_" (parenthesized_expression "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) )) . field_identifier))))) ;) (if_statement "if (iVar1 << 1 < 0) {\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }" if (parenthesized_expression "(iVar1 << 1 < 0)" ( (binary_expression "iVar1 << 1 < 0" (binary_expression "iVar1 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        uVar7 = (uint)(pOVar6->super_Output_data).data_size_;\n        if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }\n        Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);\n      }" { (expression_statement "uVar7 = (uint)(pOVar6->super_Output_data).data_size_;" (assignment_expression "uVar7 = (uint)(pOVar6->super_Output_data).data_size_" identifier = (field_expression "(uint)(pOVar6->super_Output_data).data_size_" (call_expression "(uint)(pOVar6->super_Output_data)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pOVar6->super_Output_data)" ( (field_expression "pOVar6->super_Output_data" identifier -> field_identifier) ))) . field_identifier)) ;) (if_statement "if (-1 < (int)pOVar12) {\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < (int)pOVar12)" ( (binary_expression "-1 < (int)pOVar12" number_literal < (cast_expression "(int)pOVar12" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n          uVar27 = (int)&pOVar8->name_ + uVar7;\n          iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);\n          pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);\n          if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }\n        }" { (expression_statement "uVar27 = (int)&pOVar8->name_ + uVar7;" (assignment_expression "uVar27 = (int)&pOVar8->name_ + uVar7" identifier = (binary_expression "(int)&pOVar8->name_ + uVar7" (cast_expression "(int)&pOVar8->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar8->name_" & (field_expression "pOVar8->name_" identifier -> field_identifier))) + identifier)) ;) (expression_statement "iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7);" (assignment_expression "iVar1 = (int)&pOVar12->name_ + (uint)(uVar27 < uVar7)" identifier = (binary_expression "(int)&pOVar12->name_ + (uint)(uVar27 < uVar7)" (cast_expression "(int)&pOVar12->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar12->name_" & (field_expression "pOVar12->name_" identifier -> field_identifier))) + (call_expression "(uint)(uVar27 < uVar7)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar27 < uVar7)" ( (binary_expression "uVar27 < uVar7" identifier < identifier) ))))) ;) (expression_statement "pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1);" (assignment_expression "pOVar12 = (Output_file *)(uint)(*(int *)(size + 8) < iVar1)" identifier = (cast_expression "(Output_file *)(uint)(*(int *)(size + 8) < iVar1)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(int *)(size + 8) < iVar1)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(int *)(size + 8) < iVar1)" ( (binary_expression "*(int *)(size + 8) < iVar1" (pointer_expression "*(int *)(size + 8)" * (cast_expression "(int *)(size + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 8)" ( (binary_expression "size + 8" identifier + number_literal) )))) < identifier) ))))) ;) (if_statement "if ((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))) {\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }" if (parenthesized_expression "((pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc)))))" ( (binary_expression "(pOVar12 == (Output_file *)0x0) &&\n             ((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))" (parenthesized_expression "(pOVar12 == (Output_file *)0x0)" ( (binary_expression "pOVar12 == (Output_file *)0x0" identifier == (cast_expression "(Output_file *)0x0" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))))" ( (parenthesized_expression "(*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc)))" ( (binary_expression "*(int *)(size + 8) != iVar1 || (uVar27 <= *(uint *)(size + 0xc))" (binary_expression "*(int *)(size + 8) != iVar1" (pointer_expression "*(int *)(size + 8)" * (cast_expression "(int *)(size + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 8)" ( (binary_expression "size + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar27 <= *(uint *)(size + 0xc))" ( (binary_expression "uVar27 <= *(uint *)(size + 0xc)" identifier <= (pointer_expression "*(uint *)(size + 0xc)" * (cast_expression "(uint *)(size + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 0xc)" ( (binary_expression "size + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            iVar1 = *(int *)(size + 0x10);\n            if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }\n            return;\n          }" { (expression_statement "iVar1 = *(int *)(size + 0x10);" (assignment_expression "iVar1 = *(int *)(size + 0x10)" identifier = (pointer_expression "*(int *)(size + 0x10)" * (cast_expression "(int *)(size + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + 0x10)" ( (binary_expression "size + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((int *)*puVar14 != (int *)puVar14[1]) {\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }" if (parenthesized_expression "((int *)*puVar14 != (int *)puVar14[1])" ( (binary_expression "(int *)*puVar14 != (int *)puVar14[1]" (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier)) != (cast_expression "(int *)puVar14[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[1]" identifier [ number_literal ]))) )) (compound_statement "{\n              pcVar33 = *(code **)(pcVar33 + 0x1ced0c);\n              piVar9 = (int *)*puVar14;\n              do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);\n            }" { (expression_statement "pcVar33 = *(code **)(pcVar33 + 0x1ced0c);" (assignment_expression "pcVar33 = *(code **)(pcVar33 + 0x1ced0c)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x1ced0c)" * (cast_expression "(code **)(pcVar33 + 0x1ced0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1ced0c)" ( (binary_expression "pcVar33 + 0x1ced0c" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)*puVar14;" (assignment_expression "piVar9 = (int *)*puVar14" identifier = (cast_expression "(int *)*puVar14" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar14" * identifier))) ;) (do_statement "do {\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              } while ((int *)puVar14[1] != piVar21);" do (compound_statement "{\n                piVar21 = piVar9 + 2;\n                EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));\n                iStack_a4 = eh_frame_address + *piVar9;\n                (*pcVar33)(pFVar16,&EStack_a8);\n                piVar9 = piVar21;\n              }" { (expression_statement "piVar21 = piVar9 + 2;" (assignment_expression "piVar21 = piVar9 + 2" identifier = (binary_expression "piVar9 + 2" identifier + number_literal)) ;) (expression_statement "EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1));" (comma_expression "EStack_a8 = get_fde_pc<32,_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1))" (assignment_expression "EStack_a8 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "_true>\n                                      (this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1))" identifier > (parenthesized_expression "(this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1))" ( (comma_expression "this_00,eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1)" identifier , (comma_expression "eh_frame_address,\n                                       (uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1)" identifier , (comma_expression "(uchar *)((int)&pOVar8->name_ + iVar1),*piVar9,\n                                       *(uchar *)(piVar9 + 1)" (cast_expression "(uchar *)((int)&pOVar8->name_ + iVar1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar8->name_ + iVar1)" ( (binary_expression "(int)&pOVar8->name_ + iVar1" (cast_expression "(int)&pOVar8->name_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar8->name_" & (field_expression "pOVar8->name_" identifier -> field_identifier))) + identifier) ))) , (comma_expression "*piVar9,\n                                       *(uchar *)(piVar9 + 1)" (pointer_expression "*piVar9" * identifier) , (pointer_expression "*(uchar *)(piVar9 + 1)" * (cast_expression "(uchar *)(piVar9 + 1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar9 + 1)" ( (binary_expression "piVar9 + 1" identifier + number_literal) )))))))) )))) ;) (expression_statement "iStack_a4 = eh_frame_address + *piVar9;" (assignment_expression "iStack_a4 = eh_frame_address + *piVar9" identifier = (binary_expression "eh_frame_address + *piVar9" identifier + (pointer_expression "*piVar9" * identifier))) ;) (expression_statement "(*pcVar33)(pFVar16,&EStack_a8);" (call_expression "(*pcVar33)(pFVar16,&EStack_a8)" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "(pFVar16,&EStack_a8)" ( identifier , (pointer_expression "&EStack_a8" & identifier) ))) ;) (expression_statement "piVar9 = piVar21;" (assignment_expression "piVar9 = piVar21" identifier = identifier) ;) }) while (parenthesized_expression "((int *)puVar14[1] != piVar21)" ( (binary_expression "(int *)puVar14[1] != piVar21" (cast_expression "(int *)puVar14[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar14[1]" identifier [ number_literal ])) != identifier) )) ;) })) (return_statement "return;" return ;) })) })) (labeled_statement "Output_file::get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12);" (call_expression "get_output_view\n                  (pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12)" identifier (argument_list "(pOVar8,CONCAT44(in_stack_ffffff48,in_stack_ffffff4c),size,pOVar12)" ( identifier , (call_expression "CONCAT44(in_stack_ffffff48,in_stack_ffffff4c)" identifier (argument_list "(in_stack_ffffff48,in_stack_ffffff4c)" ( identifier , identifier ))) , identifier , identifier ))) ;)) })) (expression_statement "(**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8);" (call_expression "(**(code **)(pcVar33 + 0x1cccb8))\n                (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1cccb8))" ( (pointer_expression "**(code **)(pcVar33 + 0x1cccb8)" * (pointer_expression "*(code **)(pcVar33 + 0x1cccb8)" * (cast_expression "(code **)(pcVar33 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cccb8)" ( (binary_expression "pcVar33 + 0x1cccb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar33 + 0x1ccba4) + 0x77e8)" ( (binary_expression "*(int *)(pcVar33 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar33 + 0x1cc504)" * (cast_expression "(int *)(pcVar33 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1cc504)" ( (binary_expression "pcVar33 + 0x1cc504" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1ccba4) + 0x77e8" (pointer_expression "*(int *)(pcVar33 + 0x1ccba4)" * (cast_expression "(int *)(pcVar33 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1ccba4)" ( (binary_expression "pcVar33 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar33 + 0x1cccb8))\n              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4);" (call_expression "(**(code **)(pcVar33 + 0x1cccb8))\n              (*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1cccb8))" ( (pointer_expression "**(code **)(pcVar33 + 0x1cccb8)" * (pointer_expression "*(code **)(pcVar33 + 0x1cccb8)" * (cast_expression "(code **)(pcVar33 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cccb8)" ( (binary_expression "pcVar33 + 0x1cccb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar33 + 0x1ccba4) + 0x77f4)" ( (binary_expression "*(int *)(pcVar33 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar33 + 0x1cc504)" * (cast_expression "(int *)(pcVar33 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1cc504)" ( (binary_expression "pcVar33 + 0x1cc504" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1ccba4) + 0x77f4" (pointer_expression "*(int *)(pcVar33 + 0x1ccba4)" * (cast_expression "(int *)(pcVar33 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1ccba4)" ( (binary_expression "pcVar33 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar7 = 0xc5;" (assignment_expression "uVar7 = 0xc5" identifier = number_literal) ;) (expression_statement "pcVar34 = *(code **)(pcVar33 + 0x1cccb8);" (assignment_expression "pcVar34 = *(code **)(pcVar33 + 0x1cccb8)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x1cccb8)" * (cast_expression "(code **)(pcVar33 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cccb8)" ( (binary_expression "pcVar33 + 0x1cccb8" identifier + number_literal) ))))) ;) (expression_statement "piVar9 = (int *)(*(int *)(pcVar33 + 0x1cc504) + 0x3574);" (assignment_expression "piVar9 = (int *)(*(int *)(pcVar33 + 0x1cc504) + 0x3574)" identifier = (cast_expression "(int *)(*(int *)(pcVar33 + 0x1cc504) + 0x3574)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar33 + 0x1cc504) + 0x3574)" ( (binary_expression "*(int *)(pcVar33 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar33 + 0x1cc504)" * (cast_expression "(int *)(pcVar33 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1cc504)" ( (binary_expression "pcVar33 + 0x1cc504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar34)(piVar9,0xc5,*(int *)(pcVar33 + 0x1ccba4) + 0x77bc);" (call_expression "(*pcVar34)(piVar9,0xc5,*(int *)(pcVar33 + 0x1ccba4) + 0x77bc)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(piVar9,0xc5,*(int *)(pcVar33 + 0x1ccba4) + 0x77bc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1ccba4) + 0x77bc" (pointer_expression "*(int *)(pcVar33 + 0x1ccba4)" * (cast_expression "(int *)(pcVar33 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1ccba4)" ( (binary_expression "pcVar33 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar7 < 0x10000000) {\n    puVar14 = (undefined4 *)*piVar9;\n    if (uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)) {\n      return;\n    }\n    puVar28 = (undefined4 *)piVar9[1];\n    iVar1 = (int)puVar28 - (int)puVar14;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar26 = puVar3;\n      puVar10 = puVar14;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }\n    for (; puVar14 != puVar28; puVar14 = puVar14 + 4) {\n      uVar17 = puVar14[1];\n      uVar15 = puVar14[2];\n      uVar11 = puVar14[3];\n      *puVar3 = *puVar14;\n      puVar3[1] = uVar17;\n      puVar3[2] = uVar15;\n      puVar3[3] = uVar11;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar10 != (undefined4 *)0x0) {\n      (**(code **)(pcVar34 + 0x1cc3d4))();\n    }\n    *piVar9 = (int)puVar26;\n    piVar9[1] = (int)puVar26 + iVar1;\n    piVar9[2] = (int)(puVar26 + uVar7 * 4);\n    return;\n  }" if (parenthesized_expression "(uVar7 < 0x10000000)" ( (binary_expression "uVar7 < 0x10000000" identifier < number_literal) )) (compound_statement "{\n    puVar14 = (undefined4 *)*piVar9;\n    if (uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)) {\n      return;\n    }\n    puVar28 = (undefined4 *)piVar9[1];\n    iVar1 = (int)puVar28 - (int)puVar14;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar26 = puVar3;\n      puVar10 = puVar14;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }\n    for (; puVar14 != puVar28; puVar14 = puVar14 + 4) {\n      uVar17 = puVar14[1];\n      uVar15 = puVar14[2];\n      uVar11 = puVar14[3];\n      *puVar3 = *puVar14;\n      puVar3[1] = uVar17;\n      puVar3[2] = uVar15;\n      puVar3[3] = uVar11;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar10 != (undefined4 *)0x0) {\n      (**(code **)(pcVar34 + 0x1cc3d4))();\n    }\n    *piVar9 = (int)puVar26;\n    piVar9[1] = (int)puVar26 + iVar1;\n    piVar9[2] = (int)(puVar26 + uVar7 * 4);\n    return;\n  }" { (expression_statement "puVar14 = (undefined4 *)*piVar9;" (assignment_expression "puVar14 = (undefined4 *)*piVar9" identifier = (cast_expression "(undefined4 *)*piVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) (if_statement "if (uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)) {\n      return;\n    }" if (parenthesized_expression "(uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4))" ( (binary_expression "uVar7 <= (uint)(piVar9[2] - (int)puVar14 >> 4)" identifier <= (call_expression "(uint)(piVar9[2] - (int)puVar14 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar9[2] - (int)puVar14 >> 4)" ( (binary_expression "piVar9[2] - (int)puVar14 >> 4" (binary_expression "piVar9[2] - (int)puVar14" (subscript_expression "piVar9[2]" identifier [ number_literal ]) - (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "puVar28 = (undefined4 *)piVar9[1];" (assignment_expression "puVar28 = (undefined4 *)piVar9[1]" identifier = (cast_expression "(undefined4 *)piVar9[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar9[1]" identifier [ number_literal ]))) ;) (expression_statement "iVar1 = (int)puVar28 - (int)puVar14;" (assignment_expression "iVar1 = (int)puVar28 - (int)puVar14" identifier = (binary_expression "(int)puVar28 - (int)puVar14" (cast_expression "(int)puVar28" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar14" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (if_statement "if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar26 = puVar3;\n      puVar10 = puVar14;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar3 = (undefined4 *)0x0;\n      puVar26 = puVar3;\n      puVar10 = puVar14;\n    }" { (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar26 = puVar3;" (assignment_expression "puVar26 = puVar3" identifier = identifier) ;) (expression_statement "puVar10 = puVar14;" (assignment_expression "puVar10 = puVar14" identifier = identifier) ;) }) (else_clause "else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }" else (compound_statement "{\n      puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);\n      puVar26 = puVar3;\n      puVar10 = (undefined4 *)*piVar9;\n    }" { (expression_statement "puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10);" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar34 + 0x1cc480))(uVar7 * 0x10)" (parenthesized_expression "(**(code **)(pcVar34 + 0x1cc480))" ( (pointer_expression "**(code **)(pcVar34 + 0x1cc480)" * (pointer_expression "*(code **)(pcVar34 + 0x1cc480)" * (cast_expression "(code **)(pcVar34 + 0x1cc480)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x1cc480)" ( (binary_expression "pcVar34 + 0x1cc480" identifier + number_literal) ))))) )) (argument_list "(uVar7 * 0x10)" ( (binary_expression "uVar7 * 0x10" identifier * number_literal) ))))) ;) (expression_statement "puVar26 = puVar3;" (assignment_expression "puVar26 = puVar3" identifier = identifier) ;) (expression_statement "puVar10 = (undefined4 *)*piVar9;" (assignment_expression "puVar10 = (undefined4 *)*piVar9" identifier = (cast_expression "(undefined4 *)*piVar9" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar9" * identifier))) ;) }))) (for_statement "for (; puVar14 != puVar28; puVar14 = puVar14 + 4) {\n      uVar17 = puVar14[1];\n      uVar15 = puVar14[2];\n      uVar11 = puVar14[3];\n      *puVar3 = *puVar14;\n      puVar3[1] = uVar17;\n      puVar3[2] = uVar15;\n      puVar3[3] = uVar11;\n      puVar3 = puVar3 + 4;\n    }" for ( ; (binary_expression "puVar14 != puVar28" identifier != identifier) ; (assignment_expression "puVar14 = puVar14 + 4" identifier = (binary_expression "puVar14 + 4" identifier + number_literal)) ) (compound_statement "{\n      uVar17 = puVar14[1];\n      uVar15 = puVar14[2];\n      uVar11 = puVar14[3];\n      *puVar3 = *puVar14;\n      puVar3[1] = uVar17;\n      puVar3[2] = uVar15;\n      puVar3[3] = uVar11;\n      puVar3 = puVar3 + 4;\n    }" { (expression_statement "uVar17 = puVar14[1];" (assignment_expression "uVar17 = puVar14[1]" identifier = (subscript_expression "puVar14[1]" identifier [ number_literal ])) ;) (expression_statement "uVar15 = puVar14[2];" (assignment_expression "uVar15 = puVar14[2]" identifier = (subscript_expression "puVar14[2]" identifier [ number_literal ])) ;) (expression_statement "uVar11 = puVar14[3];" (assignment_expression "uVar11 = puVar14[3]" identifier = (subscript_expression "puVar14[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar3 = *puVar14;" (assignment_expression "*puVar3 = *puVar14" (pointer_expression "*puVar3" * identifier) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "puVar3[1] = uVar17;" (assignment_expression "puVar3[1] = uVar17" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = uVar15;" (assignment_expression "puVar3[2] = uVar15" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = uVar11;" (assignment_expression "puVar3[3] = uVar11" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3 = puVar3 + 4;" (assignment_expression "puVar3 = puVar3 + 4" identifier = (binary_expression "puVar3 + 4" identifier + number_literal)) ;) })) (if_statement "if (puVar10 != (undefined4 *)0x0) {\n      (**(code **)(pcVar34 + 0x1cc3d4))();\n    }" if (parenthesized_expression "(puVar10 != (undefined4 *)0x0)" ( (binary_expression "puVar10 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar34 + 0x1cc3d4))();\n    }" { (expression_statement "(**(code **)(pcVar34 + 0x1cc3d4))();" (call_expression "(**(code **)(pcVar34 + 0x1cc3d4))()" (parenthesized_expression "(**(code **)(pcVar34 + 0x1cc3d4))" ( (pointer_expression "**(code **)(pcVar34 + 0x1cc3d4)" * (pointer_expression "*(code **)(pcVar34 + 0x1cc3d4)" * (cast_expression "(code **)(pcVar34 + 0x1cc3d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x1cc3d4)" ( (binary_expression "pcVar34 + 0x1cc3d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "*piVar9 = (int)puVar26;" (assignment_expression "*piVar9 = (int)puVar26" (pointer_expression "*piVar9" * identifier) = (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar9[1] = (int)puVar26 + iVar1;" (assignment_expression "piVar9[1] = (int)puVar26 + iVar1" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = (binary_expression "(int)puVar26 + iVar1" (cast_expression "(int)puVar26" ( (type_descriptor "int" primitive_type) ) identifier) + identifier)) ;) (expression_statement "piVar9[2] = (int)(puVar26 + uVar7 * 4);" (assignment_expression "piVar9[2] = (int)(puVar26 + uVar7 * 4)" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = (cast_expression "(int)(puVar26 + uVar7 * 4)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(puVar26 + uVar7 * 4)" ( (binary_expression "puVar26 + uVar7 * 4" identifier + (binary_expression "uVar7 * 4" identifier * number_literal)) )))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar33 = *(code **)(pcVar34 + 0x1ccf4c);" (assignment_expression "pcVar33 = *(code **)(pcVar34 + 0x1ccf4c)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x1ccf4c)" * (cast_expression "(code **)(pcVar34 + 0x1ccf4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x1ccf4c)" ( (binary_expression "pcVar34 + 0x1ccf4c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar33)(*(int *)(pcVar34 + 0x1ccb28) + -0xda4);" (call_expression "(*pcVar33)(*(int *)(pcVar34 + 0x1ccb28) + -0xda4)" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "(*(int *)(pcVar34 + 0x1ccb28) + -0xda4)" ( (binary_expression "*(int *)(pcVar34 + 0x1ccb28) + -0xda4" (pointer_expression "*(int *)(pcVar34 + 0x1ccb28)" * (cast_expression "(int *)(pcVar34 + 0x1ccb28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x1ccb28)" ( (binary_expression "pcVar34 + 0x1ccb28" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "bVar5 = bStackY_e5 & 7;" (assignment_expression "bVar5 = bStackY_e5 & 7" identifier = (binary_expression "bStackY_e5 & 7" identifier & number_literal)) ;) (if_statement "if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar11 = 0x10a;\n    goto LAB_002f50d0;\n  }" if (parenthesized_expression "(((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2))" ( (binary_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)" (parenthesized_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4))" ( (binary_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)" (parenthesized_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3))" ( (binary_expression "((bStackY_e5 & 7) != 0) && (bVar5 != 3)" (parenthesized_expression "((bStackY_e5 & 7) != 0)" ( (binary_expression "(bStackY_e5 & 7) != 0" (parenthesized_expression "(bStackY_e5 & 7)" ( (binary_expression "bStackY_e5 & 7" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(bVar5 != 3)" ( (binary_expression "bVar5 != 3" identifier != number_literal) ))) )) && (parenthesized_expression "(bVar5 != 4)" ( (binary_expression "bVar5 != 4" identifier != number_literal) ))) )) && (parenthesized_expression "(bVar5 != 2)" ( (binary_expression "bVar5 != 2" identifier != number_literal) ))) )) (compound_statement "{\n    uVar11 = 0x10a;\n    goto LAB_002f50d0;\n  }" { (expression_statement "uVar11 = 0x10a;" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_002f50d0;" goto statement_identifier ;) })) (do_statement "do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);\n  } while( true );" do (compound_statement "{\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);\n  }" { (if_statement "if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0x10)" ( (binary_expression "(bStackY_e5 & 0x70) == 0x10" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002f516c:\n      uVar11 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }" { (labeled_statement "LAB_002f516c:\n      uVar11 = 0x120;" statement_identifier : (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;)) (if_statement "if (-1 < (char)bStackY_e5) {\n        return;\n      }" if (parenthesized_expression "(-1 < (char)bStackY_e5)" ( (binary_expression "-1 < (char)bStackY_e5" number_literal < (cast_expression "(char)bStackY_e5" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }" else (compound_statement "{\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar11 = 0x11d;\n    }" { (if_statement "if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0x30)" ( (binary_expression "(bStackY_e5 & 0x70) == 0x30" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);\n        (*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar27 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" { (if_statement "if (*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar33 + 0x1cc948) + 0xc)" ( (binary_expression "**(int **)(pcVar33 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar33 + 0x1cc948)" * (pointer_expression "*(int **)(pcVar33 + 0x1cc948)" * (cast_expression "(int **)(pcVar33 + 0x1cc948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cc948)" ( (binary_expression "pcVar33 + 0x1cc948" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" { (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar33 + 0x1cc948) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar33 + 0x1cc948) + 0xc)" ( (binary_expression "**(int **)(pcVar33 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar33 + 0x1cc948)" * (pointer_expression "*(int **)(pcVar33 + 0x1cc948)" * (cast_expression "(int **)(pcVar33 + 0x1cc948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cc948)" ( (binary_expression "pcVar33 + 0x1cc948" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002f516c;" goto statement_identifier ;) })) (expression_statement "pcVar34 = *(code **)(pcVar33 + 0x1cc9c4);" (assignment_expression "pcVar34 = *(code **)(pcVar33 + 0x1cc9c4)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x1cc9c4)" * (cast_expression "(code **)(pcVar33 + 0x1cc9c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cc9c4)" ( (binary_expression "pcVar33 + 0x1cc9c4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)\n        ;" (call_expression "(*pcVar34)(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(*(int *)(pcVar33 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4)" ( (binary_expression "*(int *)(pcVar33 + 0x1cc210) + -0x9b8" (pointer_expression "*(int *)(pcVar33 + 0x1cc210)" * (cast_expression "(int *)(pcVar33 + 0x1cc210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1cc210)" ( (binary_expression "pcVar33 + 0x1cc210" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar33 + 0x1cc8b0) + 0x77c4" (pointer_expression "*(int *)(pcVar33 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar33 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1cc8b0)" ( (binary_expression "pcVar33 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar27 = uVar20 & 0xff;" (assignment_expression "uVar27 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar7 = uVar20 & 7;" (assignment_expression "uVar7 = uVar20 & 7" identifier = (binary_expression "uVar20 & 7" identifier & number_literal)) ;) (if_statement "if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;" if (parenthesized_expression "((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))))" ( (binary_expression "(((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2)))" (parenthesized_expression "(((uVar20 & 7) != 0) && (uVar7 != 3))" ( (binary_expression "((uVar20 & 7) != 0) && (uVar7 != 3)" (parenthesized_expression "((uVar20 & 7) != 0)" ( (binary_expression "(uVar20 & 7) != 0" (parenthesized_expression "(uVar20 & 7)" ( (binary_expression "uVar20 & 7" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar7 != 3)" ( (binary_expression "uVar7 != 3" identifier != number_literal) ))) )) && (parenthesized_expression "((uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2)))" ( (parenthesized_expression "(uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2))" ( (binary_expression "uVar7 != 4 && (uVar11 = 0x10a, uVar7 != 2)" (binary_expression "uVar7 != 4" identifier != number_literal) && (parenthesized_expression "(uVar11 = 0x10a, uVar7 != 2)" ( (comma_expression "uVar11 = 0x10a, uVar7 != 2" (assignment_expression "uVar11 = 0x10a" identifier = number_literal) , (binary_expression "uVar7 != 2" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_002f529c;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (if_statement "if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0)" ( (binary_expression "(bStackY_e5 & 0x70) == 0" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002f516c;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002f50d0:\n    (**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);" statement_identifier : (expression_statement "(**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784);" (call_expression "(**(code **)(pcVar33 + 0x1cc9c4))\n              (*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1cc9c4))" ( (pointer_expression "**(code **)(pcVar33 + 0x1cc9c4)" * (pointer_expression "*(code **)(pcVar33 + 0x1cc9c4)" * (cast_expression "(code **)(pcVar33 + 0x1cc9c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cc9c4)" ( (binary_expression "pcVar33 + 0x1cc9c4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(pcVar33 + 0x1cc8b0) + 0x7784)" ( (binary_expression "*(int *)(pcVar33 + 0x1cc8b0) + 0x75a4" (pointer_expression "*(int *)(pcVar33 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar33 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1cc8b0)" ( (binary_expression "pcVar33 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar33 + 0x1cc8b0) + 0x7784" (pointer_expression "*(int *)(pcVar33 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar33 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar33 + 0x1cc8b0)" ( (binary_expression "pcVar33 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_002f52c4:\n  uVar7 = uVar27 & 0x70;" statement_identifier : (expression_statement "uVar7 = uVar27 & 0x70;" (assignment_expression "uVar7 = uVar27 & 0x70" identifier = (binary_expression "uVar27 & 0x70" identifier & number_literal)) ;)) (if_statement "if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar27 = (uint)(char)uVar27;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar27) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar11 = 0x11d;\n  }" if (parenthesized_expression "(uVar7 == 0x10)" ( (binary_expression "uVar7 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_002f532c:\n    uVar27 = (uint)(char)uVar27;\n    uVar11 = 0x120;\n    if (-1 < (int)uVar27) {\n      return;\n    }\n  }" { (labeled_statement "LAB_002f532c:\n    uVar27 = (uint)(char)uVar27;" statement_identifier : (expression_statement "uVar27 = (uint)(char)uVar27;" (assignment_expression "uVar27 = (uint)(char)uVar27" identifier = (cast_expression "(uint)(char)uVar27" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar27" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (expression_statement "uVar11 = 0x120;" (assignment_expression "uVar11 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar27) {\n      return;\n    }" if (parenthesized_expression "(-1 < (int)uVar27)" ( (binary_expression "-1 < (int)uVar27" number_literal < (cast_expression "(int)uVar27" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar11 = 0x11d;\n  }" else (compound_statement "{\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar11 = 0x11d;\n  }" { (if_statement "if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }" if (parenthesized_expression "(uVar7 == 0x30)" ( (binary_expression "uVar7 == 0x30" identifier == number_literal) )) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar1 = 0x69;\n      pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);\n      puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);\n      piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);\n      (*pcVar33)();\n      iVar30 = piVar9[1];\n      iVar24 = *piVar9;\n      iVar31 = iVar1 - iVar24;\n      uVar7 = iVar30 - iVar24 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }\n      iVar22 = iVar4 + iVar31 + 4;\n      *(undefined4 *)(iVar4 + iVar31) = *puVar14;\n      iVar35 = iVar22 + (iVar30 - iVar1);\n      if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }\n      if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);\n      *piVar9 = iVar4;\n      piVar9[1] = iVar35;\n      piVar9[2] = iVar29;\n      return;\n    }" { (if_statement "if (*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar34 + 0x1cc778) + 0xc)" ( (binary_expression "**(int **)(pcVar34 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar34 + 0x1cc778)" * (pointer_expression "*(int **)(pcVar34 + 0x1cc778)" * (cast_expression "(int **)(pcVar34 + 0x1cc778)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x1cc778)" ( (binary_expression "pcVar34 + 0x1cc778" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" { (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar34 + 0x1cc778) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar34 + 0x1cc778) + 0xc)" ( (binary_expression "**(int **)(pcVar34 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar34 + 0x1cc778)" * (pointer_expression "*(int **)(pcVar34 + 0x1cc778)" * (cast_expression "(int **)(pcVar34 + 0x1cc778)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x1cc778)" ( (binary_expression "pcVar34 + 0x1cc778" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002f532c;" goto statement_identifier ;) })) (expression_statement "iVar1 = 0x69;" (assignment_expression "iVar1 = 0x69" identifier = number_literal) ;) (expression_statement "pcVar33 = *(code **)(pcVar34 + 0x1cc7f4);" (assignment_expression "pcVar33 = *(code **)(pcVar34 + 0x1cc7f4)" identifier = (pointer_expression "*(code **)(pcVar34 + 0x1cc7f4)" * (cast_expression "(code **)(pcVar34 + 0x1cc7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x1cc7f4)" ( (binary_expression "pcVar34 + 0x1cc7f4" identifier + number_literal) ))))) ;) (expression_statement "puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4);" (assignment_expression "puVar14 = (undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4)" ( (binary_expression "*(int *)(pcVar34 + 0x1cc6e0) + 0x77c4" (pointer_expression "*(int *)(pcVar34 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar34 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x1cc6e0)" ( (binary_expression "pcVar34 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8);" (assignment_expression "piVar9 = (int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8)" identifier = (cast_expression "(int *)(*(int *)(pcVar34 + 0x1cc040) + -0x9b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar34 + 0x1cc040) + -0x9b8)" ( (binary_expression "*(int *)(pcVar34 + 0x1cc040) + -0x9b8" (pointer_expression "*(int *)(pcVar34 + 0x1cc040)" * (cast_expression "(int *)(pcVar34 + 0x1cc040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x1cc040)" ( (binary_expression "pcVar34 + 0x1cc040" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar33)();" (call_expression "(*pcVar33)()" (parenthesized_expression "(*pcVar33)" ( (pointer_expression "*pcVar33" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar30 = piVar9[1];" (assignment_expression "iVar30 = piVar9[1]" identifier = (subscript_expression "piVar9[1]" identifier [ number_literal ])) ;) (expression_statement "iVar24 = *piVar9;" (assignment_expression "iVar24 = *piVar9" identifier = (pointer_expression "*piVar9" * identifier)) ;) (expression_statement "iVar31 = iVar1 - iVar24;" (assignment_expression "iVar31 = iVar1 - iVar24" identifier = (binary_expression "iVar1 - iVar24" identifier - identifier)) ;) (expression_statement "uVar7 = iVar30 - iVar24 >> 2;" (assignment_expression "uVar7 = iVar30 - iVar24 >> 2" identifier = (binary_expression "iVar30 - iVar24 >> 2" (binary_expression "iVar30 - iVar24" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar20 = 1;\nLAB_002f558c:\n        iVar29 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);\n        iVar29 = iVar4 + iVar29;\n      }" { (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" identifier = number_literal) ;) (labeled_statement "LAB_002f558c:\n        iVar29 = uVar20 << 2;" statement_identifier : (expression_statement "iVar29 = uVar20 << 2;" (assignment_expression "iVar29 = uVar20 << 2" identifier = (binary_expression "uVar20 << 2" identifier << number_literal)) ;)) (labeled_statement "LAB_002f5460:\n        iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29);" (assignment_expression "iVar4 = (**(code **)(pcVar33 + 0x1cbfbc))(iVar29)" identifier = (call_expression "(**(code **)(pcVar33 + 0x1cbfbc))(iVar29)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1cbfbc))" ( (pointer_expression "**(code **)(pcVar33 + 0x1cbfbc)" * (pointer_expression "*(code **)(pcVar33 + 0x1cbfbc)" * (cast_expression "(code **)(pcVar33 + 0x1cbfbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cbfbc)" ( (binary_expression "pcVar33 + 0x1cbfbc" identifier + number_literal) ))))) )) (argument_list "(iVar29)" ( identifier )))) ;)) (expression_statement "iVar29 = iVar4 + iVar29;" (assignment_expression "iVar29 = iVar4 + iVar29" identifier = (binary_expression "iVar4 + iVar29" identifier + identifier)) ;) }) (else_clause "else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }" else (compound_statement "{\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }\n        iVar29 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar29 = 0;\n      }" { (expression_statement "uVar20 = uVar7 << 1;" (assignment_expression "uVar20 = uVar7 << 1" identifier = (binary_expression "uVar7 << 1" identifier << number_literal)) ;) (if_statement "if (uVar20 < uVar7) {\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }" if (parenthesized_expression "(uVar20 < uVar7)" ( (binary_expression "uVar20 < uVar7" identifier < identifier) )) (compound_statement "{\n          iVar29 = -4;\n          goto LAB_002f5460;\n        }" { (expression_statement "iVar29 = -4;" (assignment_expression "iVar29 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_002f5460;" goto statement_identifier ;) })) (expression_statement "iVar29 = -4;" (assignment_expression "iVar29 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffff < uVar20) goto LAB_002f5460;" if (parenthesized_expression "(0x3fffffff < uVar20)" ( (binary_expression "0x3fffffff < uVar20" number_literal < identifier) )) (goto_statement "goto LAB_002f5460;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (uVar20 != 0) goto LAB_002f558c;" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002f558c;" goto statement_identifier ;)) (expression_statement "iVar29 = 0;" (assignment_expression "iVar29 = 0" identifier = number_literal) ;) }))) (expression_statement "iVar22 = iVar4 + iVar31 + 4;" (assignment_expression "iVar22 = iVar4 + iVar31 + 4" identifier = (binary_expression "iVar4 + iVar31 + 4" (binary_expression "iVar4 + iVar31" identifier + identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar4 + iVar31) = *puVar14;" (assignment_expression "*(undefined4 *)(iVar4 + iVar31) = *puVar14" (pointer_expression "*(undefined4 *)(iVar4 + iVar31)" * (cast_expression "(undefined4 *)(iVar4 + iVar31)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar31)" ( (binary_expression "iVar4 + iVar31" identifier + identifier) )))) = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "iVar35 = iVar22 + (iVar30 - iVar1);" (assignment_expression "iVar35 = iVar22 + (iVar30 - iVar1)" identifier = (binary_expression "iVar22 + (iVar30 - iVar1)" identifier + (parenthesized_expression "(iVar30 - iVar1)" ( (binary_expression "iVar30 - iVar1" identifier - identifier) )))) ;) (if_statement "if (iVar24 == iVar1) {\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }" if (parenthesized_expression "(iVar24 == iVar1)" ( (binary_expression "iVar24 == iVar1" identifier == identifier) )) (compound_statement "{\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\n        if (iVar30 != iVar24) goto LAB_002f54c0;\n      }" { (expression_statement "pcVar34 = *(code **)(pcVar33 + 0x1d07bc);" (assignment_expression "pcVar34 = *(code **)(pcVar33 + 0x1d07bc)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x1d07bc)" * (cast_expression "(code **)(pcVar33 + 0x1d07bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1d07bc)" ( (binary_expression "pcVar33 + 0x1d07bc" identifier + number_literal) ))))) ;) (if_statement "if (iVar30 != iVar24) goto LAB_002f54c0;" if (parenthesized_expression "(iVar30 != iVar24)" ( (binary_expression "iVar30 != iVar24" identifier != identifier) )) (goto_statement "goto LAB_002f54c0;" goto statement_identifier ;)) }) (else_clause "else {\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }" else (compound_statement "{\n        (**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);\n        if (iVar30 == iVar1) goto LAB_002f5514;\n        pcVar34 = *(code **)(pcVar33 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);\n      }" { (expression_statement "(**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31);" (call_expression "(**(code **)(pcVar33 + 0x1d070c))(iVar4,iVar24,iVar31)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1d070c))" ( (pointer_expression "**(code **)(pcVar33 + 0x1d070c)" * (pointer_expression "*(code **)(pcVar33 + 0x1d070c)" * (cast_expression "(code **)(pcVar33 + 0x1d070c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1d070c)" ( (binary_expression "pcVar33 + 0x1d070c" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar24,iVar31)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar30 == iVar1) goto LAB_002f5514;" if (parenthesized_expression "(iVar30 == iVar1)" ( (binary_expression "iVar30 == iVar1" identifier == identifier) )) (goto_statement "goto LAB_002f5514;" goto statement_identifier ;)) (expression_statement "pcVar34 = *(code **)(pcVar33 + 0x1d07bc);" (assignment_expression "pcVar34 = *(code **)(pcVar33 + 0x1d07bc)" identifier = (pointer_expression "*(code **)(pcVar33 + 0x1d07bc)" * (cast_expression "(code **)(pcVar33 + 0x1d07bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1d07bc)" ( (binary_expression "pcVar33 + 0x1d07bc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002f54c0:\n        (*pcVar34)(iVar22,iVar1,iVar30 - iVar1);" statement_identifier : (expression_statement "(*pcVar34)(iVar22,iVar1,iVar30 - iVar1);" (call_expression "(*pcVar34)(iVar22,iVar1,iVar30 - iVar1)" (parenthesized_expression "(*pcVar34)" ( (pointer_expression "*pcVar34" * identifier) )) (argument_list "(iVar22,iVar1,iVar30 - iVar1)" ( identifier , identifier , (binary_expression "iVar30 - iVar1" identifier - identifier) ))) ;)) }))) (if_statement "if (iVar24 == 0) {\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }" if (parenthesized_expression "(iVar24 == 0)" ( (binary_expression "iVar24 == 0" identifier == number_literal) )) (compound_statement "{\n        *piVar9 = iVar4;\n        piVar9[1] = iVar35;\n        piVar9[2] = iVar29;\n        return;\n      }" { (expression_statement "*piVar9 = iVar4;" (assignment_expression "*piVar9 = iVar4" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "piVar9[1] = iVar35;" (assignment_expression "piVar9[1] = iVar35" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[2] = iVar29;" (assignment_expression "piVar9[2] = iVar29" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_002f5514:\n      (**(code **)(pcVar33 + 0x1cbf10))(iVar24);" statement_identifier : (expression_statement "(**(code **)(pcVar33 + 0x1cbf10))(iVar24);" (call_expression "(**(code **)(pcVar33 + 0x1cbf10))(iVar24)" (parenthesized_expression "(**(code **)(pcVar33 + 0x1cbf10))" ( (pointer_expression "**(code **)(pcVar33 + 0x1cbf10)" * (pointer_expression "*(code **)(pcVar33 + 0x1cbf10)" * (cast_expression "(code **)(pcVar33 + 0x1cbf10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar33 + 0x1cbf10)" ( (binary_expression "pcVar33 + 0x1cbf10" identifier + number_literal) ))))) )) (argument_list "(iVar24)" ( identifier ))) ;)) (expression_statement "*piVar9 = iVar4;" (assignment_expression "*piVar9 = iVar4" (pointer_expression "*piVar9" * identifier) = identifier) ;) (expression_statement "piVar9[1] = iVar35;" (assignment_expression "piVar9[1] = iVar35" (subscript_expression "piVar9[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar9[2] = iVar29;" (assignment_expression "piVar9[2] = iVar29" (subscript_expression "piVar9[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar7 == 0) goto LAB_002f532c;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002f532c;" goto statement_identifier ;)) (expression_statement "uVar11 = 0x11d;" (assignment_expression "uVar11 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002f529c:\n  (**(code **)(pcVar34 + 0x1cc7f4))\n            (*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768);" statement_identifier : (expression_statement "(**(code **)(pcVar34 + 0x1cc7f4))\n            (*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768);" (call_expression "(**(code **)(pcVar34 + 0x1cc7f4))\n            (*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768)" (parenthesized_expression "(**(code **)(pcVar34 + 0x1cc7f4))" ( (pointer_expression "**(code **)(pcVar34 + 0x1cc7f4)" * (pointer_expression "*(code **)(pcVar34 + 0x1cc7f4)" * (cast_expression "(code **)(pcVar34 + 0x1cc7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar34 + 0x1cc7f4)" ( (binary_expression "pcVar34 + 0x1cc7f4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(pcVar34 + 0x1cc6e0) + 0x7768)" ( (binary_expression "*(int *)(pcVar34 + 0x1cc6e0) + 0x75a4" (pointer_expression "*(int *)(pcVar34 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar34 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x1cc6e0)" ( (binary_expression "pcVar34 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar34 + 0x1cc6e0) + 0x7768" (pointer_expression "*(int *)(pcVar34 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar34 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar34 + 0x1cc6e0)" ( (binary_expression "pcVar34 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_002f52c4;" goto statement_identifier ;) })))
(translation_unit "void __thiscall\ngold::Eh_frame_hdr::get_fde_addresses<32,false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4 *puVar1;\n  int iVar2;\n  undefined4 *puVar3;\n  byte bVar5;\n  int iVar4;\n  int iVar6;\n  uint uVar7;\n  int extraout_v1;\n  int iVar8;\n  Eh_frame_hdr *pEVar9;\n  int iVar10;\n  int *piVar11;\n  undefined4 *puVar12;\n  undefined4 uVar13;\n  undefined *puVar14;\n  undefined4 *puVar15;\n  undefined4 uVar16;\n  Fde_addresses *pFVar17;\n  undefined4 uVar18;\n  int *piVar19;\n  uint uVar20;\n  int iVar21;\n  Fde_addresses *unaff_s1;\n  int iVar22;\n  undefined4 *puVar23;\n  uint uVar24;\n  undefined4 *puVar25;\n  undefined *puVar26;\n  code *pcVar27;\n  code *pcVar28;\n  int iVar29;\n  byte bStackY_e5;\n  undefined4 uStack_a8;\n  int iStack_a4;\n  uint uStack_a0;\n  Fde_addresses *pFStack_9c;\n  byte bStack_3d;\n  undefined4 local_30;\n  Fde_addresses *local_2c;\n  \n  puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84;\n  iVar6 = *(int *)(this + 0x30);\n  iVar2 = *(int *)(iVar6 + 0x20);\n  pFVar17 = param_3;\n  if (iVar2 < 0) {\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }\n  iVar2 = 0xc5;\n  puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc;\n  puVar26 = PTR_do_gold_unreachable_004c1a30;\n  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);\n  uVar20 = (uint)bStack_3d;\n  uVar7 = uVar20 & 7;\n  if (((bStack_3d & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }\n  if ((uVar20 & 0x70) == 0x10) {\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }\n  else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }\n  while( true ) {\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }\n  iVar8 = 0x69;\n  puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4);\n  pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8);\n  (*pcVar27)();\n  iVar6 = *(int *)(pEVar9 + 0x30);\n  iVar2 = *(int *)(iVar6 + 0x20);\n  uStack_a0 = uVar20;\n  pFStack_9c = unaff_s1;\n  if (iVar2 < 0) {\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }\n  uVar7 = 0xc5;\n  pcVar28 = *(code **)(pcVar27 + 0x1cccb8);\n  piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574);\n  (*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc);\n  if (uVar7 < 0x10000000) {\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }\n  pcVar27 = *(code **)(pcVar28 + 0x1ccf4c);\n  (*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4);\n  bVar5 = bStackY_e5 & 7;\n  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }\n  do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  } while( true );\nLAB_002f52c4:\n  uVar7 = uVar24 & 0x70;\n  if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }\nLAB_002f529c:\n  (**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);\n  goto LAB_002f52c4;\n}\n\n" (declaration "void __thiscall\ngold::Eh_frame_hdr::get_fde_addresses<32,false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4 *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Eh_frame_hdr::" identifier : : identifier : :) identifier (ERROR "<32" < number_literal) , (ERROR "false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4" (function_declarator "false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)" identifier (ERROR ">" >) (parameter_list "(Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)" ( (parameter_declaration "Eh_frame_hdr *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Output_file *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "vector *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "Fde_addresses *param_3" type_identifier (pointer_declarator "*param_3" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "byte bVar5;" type_identifier identifier ;) (declaration "int iVar4;" primitive_type identifier ;) (declaration "int iVar6;" primitive_type identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "int extraout_v1;" primitive_type identifier ;) (declaration "int iVar8;" primitive_type identifier ;) (declaration "Eh_frame_hdr *pEVar9;" type_identifier (pointer_declarator "*pEVar9" * identifier) ;) (declaration "int iVar10;" primitive_type identifier ;) (declaration "int *piVar11;" primitive_type (pointer_declarator "*piVar11" * identifier) ;) (declaration "undefined4 *puVar12;" type_identifier (pointer_declarator "*puVar12" * identifier) ;) (declaration "undefined4 uVar13;" type_identifier identifier ;) (declaration "undefined *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "undefined4 *puVar15;" type_identifier (pointer_declarator "*puVar15" * identifier) ;) (declaration "undefined4 uVar16;" type_identifier identifier ;) (declaration "Fde_addresses *pFVar17;" type_identifier (pointer_declarator "*pFVar17" * identifier) ;) (declaration "undefined4 uVar18;" type_identifier identifier ;) (declaration "int *piVar19;" primitive_type (pointer_declarator "*piVar19" * identifier) ;) (declaration "uint uVar20;" type_identifier identifier ;) (declaration "int iVar21;" primitive_type identifier ;) (declaration "Fde_addresses *unaff_s1;" type_identifier (pointer_declarator "*unaff_s1" * identifier) ;) (declaration "int iVar22;" primitive_type identifier ;) (declaration "undefined4 *puVar23;" type_identifier (pointer_declarator "*puVar23" * identifier) ;) (declaration "uint uVar24;" type_identifier identifier ;) (declaration "undefined4 *puVar25;" type_identifier (pointer_declarator "*puVar25" * identifier) ;) (declaration "undefined *puVar26;" type_identifier (pointer_declarator "*puVar26" * identifier) ;) (declaration "code *pcVar27;" type_identifier (pointer_declarator "*pcVar27" * identifier) ;) (declaration "code *pcVar28;" type_identifier (pointer_declarator "*pcVar28" * identifier) ;) (declaration "int iVar29;" primitive_type identifier ;) (declaration "byte bStackY_e5;" type_identifier identifier ;) (declaration "undefined4 uStack_a8;" type_identifier identifier ;) (declaration "int iStack_a4;" primitive_type identifier ;) (declaration "uint uStack_a0;" type_identifier identifier ;) (declaration "Fde_addresses *pFStack_9c;" type_identifier (pointer_declarator "*pFStack_9c" * identifier) ;) (declaration "byte bStack_3d;" type_identifier identifier ;) (declaration "undefined4 local_30;" type_identifier identifier ;) (declaration "Fde_addresses *local_2c;" type_identifier (pointer_declarator "*local_2c" * identifier) ;) (expression_statement "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84;" (update_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84" (binary_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84" (assignment_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int" identifier = (binary_expression "PTR_emplace_back<std_pair<unsigned_int" (binary_expression "PTR_emplace_back<std_pair" identifier < identifier) < identifier)) (ERROR ",unsigned_int" , identifier) >> identifier) --) ;) (expression_statement "iVar6 = *(int *)(this + 0x30);" (assignment_expression "iVar6 = *(int *)(this + 0x30)" identifier = (pointer_expression "*(int *)(this + 0x30)" * (cast_expression "(int *)(this + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(this + 0x30)" ( (binary_expression "this + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar2 = *(int *)(iVar6 + 0x20)" identifier = (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "pFVar17 = param_3;" (assignment_expression "pFVar17 = param_3" identifier = identifier) ;) (if_statement "if (iVar2 < 0) {\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" { (expression_statement "unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);" (assignment_expression "unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc)" identifier = (pointer_expression "*(Fde_addresses **)(iVar6 + 0xc)" * (cast_expression "(Fde_addresses **)(iVar6 + 0xc)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" if (parenthesized_expression "(iVar2 << 2 < 0)" ( (binary_expression "iVar2 << 2 < 0" (binary_expression "iVar2 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" { (expression_statement "iVar8 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar8 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" if (parenthesized_expression "(iVar2 << 1 < 0)" ( (binary_expression "iVar2 << 1 < 0" (binary_expression "iVar2 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" { (if_statement "if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }" { (expression_statement "pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;" (assignment_expression "pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8" identifier = (binary_expression "*(Fde_addresses **)(iVar6 + 0x14) + iVar8" (pointer_expression "*(Fde_addresses **)(iVar6 + 0x14)" * (cast_expression "(Fde_addresses **)(iVar6 + 0x14)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);" (assignment_expression "iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" identifier = (binary_expression "(uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (call_expression "(uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14))" ( (binary_expression "pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)" identifier < (pointer_expression "*(Fde_addresses **)(iVar6 + 0x14)" * (cast_expression "(Fde_addresses **)(iVar6 + 0x14)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }" if (parenthesized_expression "((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0))))" ( (binary_expression "(iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))" (parenthesized_expression "(iVar2 <= *(int *)(param_1 + 8))" ( (binary_expression "iVar2 <= *(int *)(param_1 + 8)" identifier <= (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))" ( (parenthesized_expression "(*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0))" ( (binary_expression "*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)" (binary_expression "*(int *)(param_1 + 8) != iVar2" (pointer_expression "*(int *)(param_1 + 8)" * (cast_expression "(int *)(param_1 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)" ( (comma_expression "pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0" (assignment_expression "pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" identifier = (cast_expression "(Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" ( (binary_expression "*(Fde_addresses **)(param_1 + 0xc) < pFVar17" (pointer_expression "*(Fde_addresses **)(param_1 + 0xc)" * (cast_expression "(Fde_addresses **)(param_1 + 0xc)" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) < identifier) ))))) , (binary_expression "pFVar17 == (Fde_addresses *)0x0" identifier == (cast_expression "(Fde_addresses *)0x0" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) ))) )) (compound_statement "{\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }" { (expression_statement "iVar2 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x10)" identifier = (pointer_expression "*(int *)(param_1 + 0x10)" * (cast_expression "(int *)(param_1 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x10)" ( (binary_expression "param_1 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }" if (parenthesized_expression "(*(int **)param_2 != *(int **)(param_2 + 4))" ( (binary_expression "*(int **)param_2 != *(int **)(param_2 + 4)" (pointer_expression "*(int **)param_2" * (cast_expression "(int **)param_2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) != (pointer_expression "*(int **)(param_2 + 4)" * (cast_expression "(int **)(param_2 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) ))))) )) (compound_statement "{\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }" { (expression_statement "piVar11 = *(int **)param_2;" (assignment_expression "piVar11 = *(int **)param_2" identifier = (pointer_expression "*(int **)param_2" * (cast_expression "(int **)param_2" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (do_statement "do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);" do (compound_statement "{\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              }" { (expression_statement "piVar19 = piVar11 + 2;" (assignment_expression "piVar19 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);" (comma_expression "local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11)" (assignment_expression "local_30 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "false>(this,unaff_s1,iVar2 + iVar8,*piVar11)" false > (parenthesized_expression "(this,unaff_s1,iVar2 + iVar8,*piVar11)" ( (comma_expression "this,unaff_s1,iVar2 + iVar8,*piVar11" identifier , (comma_expression "unaff_s1,iVar2 + iVar8,*piVar11" identifier , (comma_expression "iVar2 + iVar8,*piVar11" (binary_expression "iVar2 + iVar8" identifier + identifier) , (pointer_expression "*piVar11" * identifier)))) )))) ;) (expression_statement "local_2c = unaff_s1 + *piVar11;" (assignment_expression "local_2c = unaff_s1 + *piVar11" identifier = (binary_expression "unaff_s1 + *piVar11" identifier + (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "(*(code *)puVar26)(param_3,&local_30);" (call_expression "(*(code *)puVar26)(param_3,&local_30)" (parenthesized_expression "(*(code *)puVar26)" ( (pointer_expression "*(code *)puVar26" * (cast_expression "(code *)puVar26" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(param_3,&local_30)" ( identifier , (pointer_expression "&local_30" & identifier) ))) ;) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" identifier = identifier) ;) }) while (parenthesized_expression "(*(int **)(param_2 + 4) != piVar19)" ( (binary_expression "*(int **)(param_2 + 4) != piVar19" (pointer_expression "*(int **)(param_2 + 4)" * (cast_expression "(int **)(param_2 + 4)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_2 + 4)" ( (binary_expression "param_2 + 4" identifier + number_literal) )))) != identifier) )) ;) })) (return_statement "return;" return ;) })) })) (expression_statement "FUN_002f2158();" (call_expression "FUN_002f2158()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77e8" identifier + number_literal) ))) ;) })) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) , number_literal , (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77f4" identifier + number_literal) ))) ;) })) (expression_statement "iVar2 = 0xc5;" (assignment_expression "iVar2 = 0xc5" identifier = number_literal) ;) (expression_statement "puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc;" (assignment_expression "puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc" identifier = (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77bc" identifier + number_literal)) ;) (expression_statement "puVar26 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar26 = PTR_do_gold_unreachable_004c1a30" identifier = identifier) ;) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" ( (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" * (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" ( (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" identifier + number_literal) ))) ;) (expression_statement "uVar20 = (uint)bStack_3d;" (assignment_expression "uVar20 = (uint)bStack_3d" identifier = (cast_expression "(uint)bStack_3d" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = uVar20 & 7;" (assignment_expression "uVar7 = uVar20 & 7" identifier = (binary_expression "uVar20 & 7" identifier & number_literal)) ;) (if_statement "if (((bStack_3d & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" if (parenthesized_expression "(((bStack_3d & 7) == 0) || (uVar7 == 3))" ( (binary_expression "((bStack_3d & 7) == 0) || (uVar7 == 3)" (parenthesized_expression "((bStack_3d & 7) == 0)" ( (binary_expression "(bStack_3d & 7) == 0" (parenthesized_expression "(bStack_3d & 7)" ( (binary_expression "bStack_3d & 7" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(uVar7 == 3)" ( (binary_expression "uVar7 == 3" identifier == number_literal) ))) )) (compound_statement "{\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }" { (expression_statement "unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));" (assignment_expression "unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" identifier = (pointer_expression "*(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" * (cast_expression "(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" ( (type_descriptor "Fde_addresses **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar14 + (int)(pFVar17 + 8))" ( (binary_expression "puVar14 + (int)(pFVar17 + 8)" identifier + (cast_expression "(int)(pFVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pFVar17 + 8)" ( (binary_expression "pFVar17 + 8" identifier + number_literal) )))) ))))) ;) }) (else_clause "else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" else (compound_statement "{\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" { (if_statement "if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "(uVar7 == 4)" ( (binary_expression "uVar7 == 4" identifier == number_literal) )) (compound_statement "{\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar13 = 0x104;" (assignment_expression "uVar13 = 0x104" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) (if_statement "if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "(uVar7 != 2)" ( (binary_expression "uVar7 != 2" identifier != number_literal) )) (compound_statement "{\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar13 = 0x10a;" (assignment_expression "uVar13 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) (expression_statement "unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));" (assignment_expression "unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8))" identifier = (binary_expression "(Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8))" (cast_expression "(Fde_addresses *)(uint)" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(uint)" ( identifier ))) * (cast_expression "(ushort *)(puVar14 + (int)(pFVar17 + 8))" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + (int)(pFVar17 + 8))" ( (binary_expression "puVar14 + (int)(pFVar17 + 8)" identifier + (cast_expression "(int)(pFVar17 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pFVar17 + 8)" ( (binary_expression "pFVar17 + 8" identifier + number_literal) )))) ))))) ;) (if_statement "if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }" if (parenthesized_expression "((bStack_3d & 8) != 0)" ( (binary_expression "(bStack_3d & 8) != 0" (parenthesized_expression "(bStack_3d & 8)" ( (binary_expression "bStack_3d & 8" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }" { (expression_statement "unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);" (assignment_expression "unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" identifier = (cast_expression "(Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (type_descriptor "Fde_addresses *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(((uint)unaff_s1 ^ 0x8000) - 0x8000)" ( (binary_expression "((uint)unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "((uint)unaff_s1 ^ 0x8000)" ( (binary_expression "(uint)unaff_s1 ^ 0x8000" (cast_expression "(uint)unaff_s1" ( (type_descriptor "uint" type_identifier) ) identifier) ^ number_literal) )) - number_literal) )))) ;) })) }))) (if_statement "if ((uVar20 & 0x70) == 0x10) {\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }\n  else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" if (parenthesized_expression "((uVar20 & 0x70) == 0x10)" ( (binary_expression "(uVar20 & 0x70) == 0x10" (parenthesized_expression "(uVar20 & 0x70)" ( (binary_expression "uVar20 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }" { (expression_statement "unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);" (assignment_expression "unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8)" identifier = (binary_expression "unaff_s1 + (int)(pFVar17 + iVar2 + 8)" identifier + (cast_expression "(int)(pFVar17 + iVar2 + 8)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(pFVar17 + iVar2 + 8)" ( (binary_expression "pFVar17 + iVar2 + 8" (binary_expression "pFVar17 + iVar2" identifier + identifier) + number_literal) ))))) ;) }) (else_clause "else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" else (compound_statement "{\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" { (if_statement "if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;" if (parenthesized_expression "((uVar20 & 0x70) == 0x30)" ( (binary_expression "(uVar20 & 0x70) == 0x30" (parenthesized_expression "(uVar20 & 0x70)" ( (binary_expression "uVar20 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002f4d20;" goto statement_identifier ;)) (if_statement "if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }" if (parenthesized_expression "((bStack_3d & 0x70) != 0)" ( (binary_expression "(bStack_3d & 0x70) != 0" (parenthesized_expression "(bStack_3d & 0x70)" ( (binary_expression "bStack_3d & 0x70" identifier & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }" { (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" identifier = number_literal) ;) (goto_statement "goto LAB_002f4d08;" goto statement_identifier ;) })) }))) (while_statement "while( true ) {\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" while (parenthesized_expression "( true )" ( true )) (compound_statement "{\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" { (expression_statement "uVar20 = (uint)(char)bStack_3d;" (assignment_expression "uVar20 = (uint)(char)bStack_3d" identifier = (cast_expression "(uint)(char)bStack_3d" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)bStack_3d" ( (type_descriptor "char" primitive_type) ) identifier))) ;) (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar20) {\n      return;\n    }" if (parenthesized_expression "(-1 < (int)uVar20)" ( (binary_expression "-1 < (int)uVar20" number_literal < (cast_expression "(int)uVar20" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (labeled_statement "LAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);" statement_identifier : (expression_statement "(**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);" (call_expression "(**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0)" (parenthesized_expression "(**(code **)(puVar26 + 0x1ccdf0))" ( (pointer_expression "**(code **)(puVar26 + 0x1ccdf0)" * (pointer_expression "*(code **)(puVar26 + 0x1ccdf0)" * (cast_expression "(code **)(puVar26 + 0x1ccdf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccdf0)" ( (binary_expression "puVar26 + 0x1ccdf0" identifier + number_literal) ))))) )) (argument_list "(*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0)" ( (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x75a4" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" * (cast_expression "(int *)(puVar26 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cccdc)" ( (binary_expression "puVar26 + 0x1cccdc" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x77a0" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" * (cast_expression "(int *)(puVar26 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cccdc)" ( (binary_expression "puVar26 + 0x1cccdc" identifier + number_literal) )))) + number_literal) ))) ;)) (labeled_statement "LAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);" statement_identifier : (expression_statement "pcVar27 = *(code **)(puVar26 + 0x1ccdf0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x1ccdf0)" identifier = (pointer_expression "*(code **)(puVar26 + 0x1ccdf0)" * (cast_expression "(code **)(puVar26 + 0x1ccdf0)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccdf0)" ( (binary_expression "puVar26 + 0x1ccdf0" identifier + number_literal) ))))) ;)) (if_statement "if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;" if (parenthesized_expression "(*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0" (pointer_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" * (cast_expression "(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (binary_expression "**(int **)(puVar26 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar26 + 0x1ccd74)" * (pointer_expression "*(int **)(puVar26 + 0x1ccd74)" * (cast_expression "(int **)(puVar26 + 0x1ccd74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccd74)" ( (binary_expression "puVar26 + 0x1ccd74" identifier + number_literal) ))))) + number_literal) )))) == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (break_statement "break;" break ;)) (expression_statement "bStack_3d = (byte)uVar20;" (assignment_expression "bStack_3d = (byte)uVar20" identifier = (cast_expression "(byte)uVar20" ( (type_descriptor "byte" type_identifier) ) identifier)) ;) (expression_statement "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" * (pointer_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" * (cast_expression "(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(puVar26 + 0x1ccd74) + 0xc)" ( (binary_expression "**(int **)(puVar26 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar26 + 0x1ccd74)" * (pointer_expression "*(int **)(puVar26 + 0x1ccd74)" * (cast_expression "(int **)(puVar26 + 0x1ccd74)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(puVar26 + 0x1ccd74)" ( (binary_expression "puVar26 + 0x1ccd74" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (expression_statement "unaff_s1 = unaff_s1 + extraout_v1;" (assignment_expression "unaff_s1 = unaff_s1 + extraout_v1" identifier = (binary_expression "unaff_s1 + extraout_v1" identifier + identifier)) ;) })) (expression_statement "iVar8 = 0x69;" (assignment_expression "iVar8 = 0x69" identifier = number_literal) ;) (expression_statement "puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4);" (assignment_expression "puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" identifier = (cast_expression "(undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" ( (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x77c4" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" * (cast_expression "(int *)(puVar26 + 0x1cccdc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cccdc)" ( (binary_expression "puVar26 + 0x1cccdc" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8);" (assignment_expression "pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" identifier = (cast_expression "(Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" ( (type_descriptor "Eh_frame_hdr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" ( (binary_expression "*(int *)(puVar26 + 0x1cc63c) + -0x9b8" (pointer_expression "*(int *)(puVar26 + 0x1cc63c)" * (cast_expression "(int *)(puVar26 + 0x1cc63c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar26 + 0x1cc63c)" ( (binary_expression "puVar26 + 0x1cc63c" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar6 = *(int *)(pEVar9 + 0x30);" (assignment_expression "iVar6 = *(int *)(pEVar9 + 0x30)" identifier = (pointer_expression "*(int *)(pEVar9 + 0x30)" * (cast_expression "(int *)(pEVar9 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pEVar9 + 0x30)" ( (binary_expression "pEVar9 + 0x30" identifier + number_literal) ))))) ;) (expression_statement "iVar2 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar2 = *(int *)(iVar6 + 0x20)" identifier = (pointer_expression "*(int *)(iVar6 + 0x20)" * (cast_expression "(int *)(iVar6 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x20)" ( (binary_expression "iVar6 + 0x20" identifier + number_literal) ))))) ;) (expression_statement "uStack_a0 = uVar20;" (assignment_expression "uStack_a0 = uVar20" identifier = identifier) ;) (expression_statement "pFStack_9c = unaff_s1;" (assignment_expression "pFStack_9c = unaff_s1" identifier = identifier) ;) (if_statement "if (iVar2 < 0) {\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }" if (parenthesized_expression "(iVar2 < 0)" ( (binary_expression "iVar2 < 0" identifier < number_literal) )) (compound_statement "{\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }" { (expression_statement "iVar22 = *(int *)(iVar6 + 0xc);" (assignment_expression "iVar22 = *(int *)(iVar6 + 0xc)" identifier = (pointer_expression "*(int *)(iVar6 + 0xc)" * (cast_expression "(int *)(iVar6 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0xc)" ( (binary_expression "iVar6 + 0xc" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }" if (parenthesized_expression "(iVar2 << 2 < 0)" ( (binary_expression "iVar2 << 2 < 0" (binary_expression "iVar2 << 2" identifier << number_literal) < number_literal) )) (compound_statement "{\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }" { (expression_statement "iVar10 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x1c)" identifier = (pointer_expression "*(int *)(iVar6 + 0x1c)" * (cast_expression "(int *)(iVar6 + 0x1c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x1c)" ( (binary_expression "iVar6 + 0x1c" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" if (parenthesized_expression "(iVar2 << 1 < 0)" ( (binary_expression "iVar2 << 1 < 0" (binary_expression "iVar2 << 1" identifier << number_literal) < number_literal) )) (compound_statement "{\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" { (if_statement "if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }" if (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x18))" ( (binary_expression "-1 < *(int *)(iVar6 + 0x18)" number_literal < (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) ))))) )) (compound_statement "{\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }" { (expression_statement "uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;" (assignment_expression "uVar7 = *(uint *)(iVar6 + 0x14) + iVar10" identifier = (binary_expression "*(uint *)(iVar6 + 0x14) + iVar10" (pointer_expression "*(uint *)(iVar6 + 0x14)" * (cast_expression "(uint *)(iVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) )))) + identifier)) ;) (expression_statement "iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);" (assignment_expression "iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" identifier = (binary_expression "(uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar6 + 0x14))" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(uVar7 < *(uint *)(iVar6 + 0x14))" ( (binary_expression "uVar7 < *(uint *)(iVar6 + 0x14)" identifier < (pointer_expression "*(uint *)(iVar6 + 0x14)" * (cast_expression "(uint *)(iVar6 + 0x14)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x14)" ( (binary_expression "iVar6 + 0x14" identifier + number_literal) ))))) ))) + (pointer_expression "*(int *)(iVar6 + 0x18)" * (cast_expression "(int *)(iVar6 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar6 + 0x18)" ( (binary_expression "iVar6 + 0x18" identifier + number_literal) )))))) ;) (if_statement "if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }" if (parenthesized_expression "((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" ( (binary_expression "(iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(iVar8 + 8))" ( (binary_expression "iVar2 <= *(int *)(iVar8 + 8)" identifier <= (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) ))))) )) && (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" ( (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" ( (binary_expression "*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar2" (pointer_expression "*(int *)(iVar8 + 8)" * (cast_expression "(int *)(iVar8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 8)" ( (binary_expression "iVar8 + 8" identifier + number_literal) )))) != identifier) || (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" ( (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" identifier <= (pointer_expression "*(uint *)(iVar8 + 0xc)" * (cast_expression "(uint *)(iVar8 + 0xc)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0xc)" ( (binary_expression "iVar8 + 0xc" identifier + number_literal) ))))) ))) )) ))) )) (compound_statement "{\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }" { (expression_statement "iVar2 = *(int *)(iVar8 + 0x10);" (assignment_expression "iVar2 = *(int *)(iVar8 + 0x10)" identifier = (pointer_expression "*(int *)(iVar8 + 0x10)" * (cast_expression "(int *)(iVar8 + 0x10)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar8 + 0x10)" ( (binary_expression "iVar8 + 0x10" identifier + number_literal) ))))) ;) (if_statement "if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }" if (parenthesized_expression "((int *)*puVar15 != (int *)puVar15[1])" ( (binary_expression "(int *)*puVar15 != (int *)puVar15[1]" (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier)) != (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ]))) )) (compound_statement "{\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }" { (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x1ced0c);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x1ced0c)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1ced0c)" * (cast_expression "(code **)(pcVar27 + 0x1ced0c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1ced0c)" ( (binary_expression "pcVar27 + 0x1ced0c" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)*puVar15;" (assignment_expression "piVar11 = (int *)*puVar15" identifier = (cast_expression "(int *)*puVar15" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "*puVar15" * identifier))) ;) (do_statement "do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);" do (compound_statement "{\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              }" { (expression_statement "piVar19 = piVar11 + 2;" (assignment_expression "piVar19 = piVar11 + 2" identifier = (binary_expression "piVar11 + 2" identifier + number_literal)) ;) (expression_statement "uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));" (comma_expression "uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" (assignment_expression "uStack_a8 = get_fde_pc<32" identifier = (binary_expression "get_fde_pc<32" identifier < number_literal)) , (binary_expression "true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" true > (parenthesized_expression "(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" ( (comma_expression "pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" identifier , (comma_expression "iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" identifier , (comma_expression "iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (binary_expression "iVar2 + iVar10" identifier + identifier) , (comma_expression "*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (pointer_expression "*piVar11" * identifier) , (pointer_expression "*(undefined1 *)(piVar11 + 1)" * (cast_expression "(undefined1 *)(piVar11 + 1)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar11 + 1)" ( (binary_expression "piVar11 + 1" identifier + number_literal) )))))))) )))) ;) (expression_statement "iStack_a4 = iVar22 + *piVar11;" (assignment_expression "iStack_a4 = iVar22 + *piVar11" identifier = (binary_expression "iVar22 + *piVar11" identifier + (pointer_expression "*piVar11" * identifier))) ;) (expression_statement "(*pcVar27)(pFVar17,&uStack_a8);" (call_expression "(*pcVar27)(pFVar17,&uStack_a8)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(pFVar17,&uStack_a8)" ( identifier , (pointer_expression "&uStack_a8" & identifier) ))) ;) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" identifier = identifier) ;) }) while (parenthesized_expression "((int *)puVar15[1] != piVar19)" ( (binary_expression "(int *)puVar15[1] != piVar19" (cast_expression "(int *)puVar15[1]" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (subscript_expression "puVar15[1]" identifier [ number_literal ])) != identifier) )) ;) })) (return_statement "return;" return ;) })) })) (expression_statement "FUN_002f2158();" (call_expression "FUN_002f2158()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "(**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);" (call_expression "(**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cccb8))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cccb8)" * (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" * (cast_expression "(code **)(pcVar27 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cccb8)" ( (binary_expression "pcVar27 + 0x1cccb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" * (cast_expression "(int *)(pcVar27 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc504)" ( (binary_expression "pcVar27 + 0x1cc504" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77e8" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" * (cast_expression "(int *)(pcVar27 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1ccba4)" ( (binary_expression "pcVar27 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "(**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);" (call_expression "(**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cccb8))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cccb8)" * (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" * (cast_expression "(code **)(pcVar27 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cccb8)" ( (binary_expression "pcVar27 + 0x1cccb8" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" * (cast_expression "(int *)(pcVar27 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc504)" ( (binary_expression "pcVar27 + 0x1cc504" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77f4" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" * (cast_expression "(int *)(pcVar27 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1ccba4)" ( (binary_expression "pcVar27 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) })) (expression_statement "uVar7 = 0xc5;" (assignment_expression "uVar7 = 0xc5" identifier = number_literal) ;) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1cccb8);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1cccb8)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" * (cast_expression "(code **)(pcVar27 + 0x1cccb8)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cccb8)" ( (binary_expression "pcVar27 + 0x1cccb8" identifier + number_literal) ))))) ;) (expression_statement "piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" identifier = (cast_expression "(int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" * (cast_expression "(int *)(pcVar27 + 0x1cc504)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc504)" ( (binary_expression "pcVar27 + 0x1cc504" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc);" (call_expression "(*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc)" ( identifier , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77bc" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" * (cast_expression "(int *)(pcVar27 + 0x1ccba4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1ccba4)" ( (binary_expression "pcVar27 + 0x1ccba4" identifier + number_literal) )))) + number_literal) ))) ;) (if_statement "if (uVar7 < 0x10000000) {\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }" if (parenthesized_expression "(uVar7 < 0x10000000)" ( (binary_expression "uVar7 < 0x10000000" identifier < number_literal) )) (compound_statement "{\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }" { (expression_statement "puVar15 = (undefined4 *)*piVar11;" (assignment_expression "puVar15 = (undefined4 *)*piVar11" identifier = (cast_expression "(undefined4 *)*piVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) (if_statement "if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }" if (parenthesized_expression "(uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4))" ( (binary_expression "uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)" identifier <= (call_expression "(uint)(piVar11[2] - (int)puVar15 >> 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(piVar11[2] - (int)puVar15 >> 4)" ( (binary_expression "piVar11[2] - (int)puVar15 >> 4" (binary_expression "piVar11[2] - (int)puVar15" (subscript_expression "piVar11[2]" identifier [ number_literal ]) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) >> number_literal) )))) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (expression_statement "puVar25 = (undefined4 *)piVar11[1];" (assignment_expression "puVar25 = (undefined4 *)piVar11[1]" identifier = (cast_expression "(undefined4 *)piVar11[1]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar11[1]" identifier [ number_literal ]))) ;) (expression_statement "puVar1 = puVar15;" (assignment_expression "puVar1 = puVar15" identifier = identifier) ;) (if_statement "if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }" { (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "puVar23 = puVar3;" (assignment_expression "puVar23 = puVar3" identifier = identifier) ;) (expression_statement "puVar12 = puVar15;" (assignment_expression "puVar12 = puVar15" identifier = identifier) ;) }) (else_clause "else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" else (compound_statement "{\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" { (expression_statement "puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" identifier = (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc480))" ( (pointer_expression "**(code **)(pcVar28 + 0x1cc480)" * (pointer_expression "*(code **)(pcVar28 + 0x1cc480)" * (cast_expression "(code **)(pcVar28 + 0x1cc480)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc480)" ( (binary_expression "pcVar28 + 0x1cc480" identifier + number_literal) ))))) )) (argument_list "(uVar7 * 0x10)" ( (binary_expression "uVar7 * 0x10" identifier * number_literal) ))))) ;) (expression_statement "puVar23 = puVar3;" (assignment_expression "puVar23 = puVar3" identifier = identifier) ;) (expression_statement "puVar12 = (undefined4 *)*piVar11;" (assignment_expression "puVar12 = (undefined4 *)*piVar11" identifier = (cast_expression "(undefined4 *)*piVar11" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "*piVar11" * identifier))) ;) }))) (for_statement "for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }" for ( ; (binary_expression "puVar1 != puVar25" identifier != identifier) ; (assignment_expression "puVar1 = puVar1 + 4" identifier = (binary_expression "puVar1 + 4" identifier + number_literal)) ) (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }" { (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" identifier = (subscript_expression "puVar1[1]" identifier [ number_literal ])) ;) (expression_statement "uVar16 = puVar1[2];" (assignment_expression "uVar16 = puVar1[2]" identifier = (subscript_expression "puVar1[2]" identifier [ number_literal ])) ;) (expression_statement "uVar13 = puVar1[3];" (assignment_expression "uVar13 = puVar1[3]" identifier = (subscript_expression "puVar1[3]" identifier [ number_literal ])) ;) (expression_statement "*puVar3 = *puVar1;" (assignment_expression "*puVar3 = *puVar1" (pointer_expression "*puVar3" * identifier) = (pointer_expression "*puVar1" * identifier)) ;) (expression_statement "puVar3[1] = uVar18;" (assignment_expression "puVar3[1] = uVar18" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[2] = uVar16;" (assignment_expression "puVar3[2] = uVar16" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[3] = uVar13;" (assignment_expression "puVar3[3] = uVar13" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3 = puVar3 + 4;" (assignment_expression "puVar3 = puVar3 + 4" identifier = (binary_expression "puVar3 + 4" identifier + number_literal)) ;) })) (if_statement "if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }" if (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" ( (binary_expression "puVar12 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }" { (expression_statement "(**(code **)(pcVar28 + 0x1cc3d4))();" (call_expression "(**(code **)(pcVar28 + 0x1cc3d4))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc3d4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1cc3d4)" * (pointer_expression "*(code **)(pcVar28 + 0x1cc3d4)" * (cast_expression "(code **)(pcVar28 + 0x1cc3d4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc3d4)" ( (binary_expression "pcVar28 + 0x1cc3d4" identifier + number_literal) ))))) )) (argument_list "()" ( ))) ;) })) (expression_statement "*piVar11 = (int)puVar23;" (assignment_expression "*piVar11 = (int)puVar23" (pointer_expression "*piVar11" * identifier) = (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);" (assignment_expression "piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15)" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = (binary_expression "(int)puVar25 + ((int)puVar23 - (int)puVar15)" (cast_expression "(int)puVar25" ( (type_descriptor "int" primitive_type) ) identifier) + (parenthesized_expression "((int)puVar23 - (int)puVar15)" ( (binary_expression "(int)puVar23 - (int)puVar15" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)puVar15" ( (type_descriptor "int" primitive_type) ) identifier)) )))) ;) (expression_statement "piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);" (assignment_expression "piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10)" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = (cast_expression "(int)((int)puVar23 + uVar7 * 0x10)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((int)puVar23 + uVar7 * 0x10)" ( (binary_expression "(int)puVar23 + uVar7 * 0x10" (cast_expression "(int)puVar23" ( (type_descriptor "int" primitive_type) ) identifier) + (binary_expression "uVar7 * 0x10" identifier * number_literal)) )))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar27 = *(code **)(pcVar28 + 0x1ccf4c);" (assignment_expression "pcVar27 = *(code **)(pcVar28 + 0x1ccf4c)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1ccf4c)" * (cast_expression "(code **)(pcVar28 + 0x1ccf4c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1ccf4c)" ( (binary_expression "pcVar28 + 0x1ccf4c" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4);" (call_expression "(*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4)" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "(*(int *)(pcVar28 + 0x1ccb28) + -0xda4)" ( (binary_expression "*(int *)(pcVar28 + 0x1ccb28) + -0xda4" (pointer_expression "*(int *)(pcVar28 + 0x1ccb28)" * (cast_expression "(int *)(pcVar28 + 0x1ccb28)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1ccb28)" ( (binary_expression "pcVar28 + 0x1ccb28" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "bVar5 = bStackY_e5 & 7;" (assignment_expression "bVar5 = bStackY_e5 & 7" identifier = (binary_expression "bStackY_e5 & 7" identifier & number_literal)) ;) (if_statement "if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }" if (parenthesized_expression "(((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2))" ( (binary_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)" (parenthesized_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4))" ( (binary_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)" (parenthesized_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3))" ( (binary_expression "((bStackY_e5 & 7) != 0) && (bVar5 != 3)" (parenthesized_expression "((bStackY_e5 & 7) != 0)" ( (binary_expression "(bStackY_e5 & 7) != 0" (parenthesized_expression "(bStackY_e5 & 7)" ( (binary_expression "bStackY_e5 & 7" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(bVar5 != 3)" ( (binary_expression "bVar5 != 3" identifier != number_literal) ))) )) && (parenthesized_expression "(bVar5 != 4)" ( (binary_expression "bVar5 != 4" identifier != number_literal) ))) )) && (parenthesized_expression "(bVar5 != 2)" ( (binary_expression "bVar5 != 2" identifier != number_literal) ))) )) (compound_statement "{\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }" { (expression_statement "uVar13 = 0x10a;" (assignment_expression "uVar13 = 0x10a" identifier = number_literal) ;) (goto_statement "goto LAB_002f50d0;" goto statement_identifier ;) })) (do_statement "do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  } while( true );" do (compound_statement "{\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  }" { (if_statement "if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0x10)" ( (binary_expression "(bStackY_e5 & 0x70) == 0x10" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }" { (labeled_statement "LAB_002f516c:\n      uVar13 = 0x120;" statement_identifier : (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" identifier = number_literal) ;)) (if_statement "if (-1 < (char)bStackY_e5) {\n        return;\n      }" if (parenthesized_expression "(-1 < (char)bStackY_e5)" ( (binary_expression "-1 < (char)bStackY_e5" number_literal < (cast_expression "(char)bStackY_e5" ( (type_descriptor "char" primitive_type) ) identifier)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" else (compound_statement "{\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" { (if_statement "if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0x30)" ( (binary_expression "(bStackY_e5 & 0x70) == 0x30" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" { (if_statement "if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (binary_expression "**(int **)(pcVar27 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar27 + 0x1cc948)" * (pointer_expression "*(int **)(pcVar27 + 0x1cc948)" * (cast_expression "(int **)(pcVar27 + 0x1cc948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc948)" ( (binary_expression "pcVar27 + 0x1cc948" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" { (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar27 + 0x1cc948) + 0xc)" ( (binary_expression "**(int **)(pcVar27 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar27 + 0x1cc948)" * (pointer_expression "*(int **)(pcVar27 + 0x1cc948)" * (cast_expression "(int **)(pcVar27 + 0x1cc948)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc948)" ( (binary_expression "pcVar27 + 0x1cc948" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002f516c;" goto statement_identifier ;) })) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1cc9c4)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1cc9c4)" * (cast_expression "(code **)(pcVar27 + 0x1cc9c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc9c4)" ( (binary_expression "pcVar27 + 0x1cc9c4" identifier + number_literal) ))))) ;) (expression_statement "(*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;" (call_expression "(*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc210) + -0x9b8" (pointer_expression "*(int *)(pcVar27 + 0x1cc210)" * (cast_expression "(int *)(pcVar27 + 0x1cc210)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc210)" ( (binary_expression "pcVar27 + 0x1cc210" identifier + number_literal) )))) + number_literal) , number_literal , (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc8b0)" ( (binary_expression "pcVar27 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) ))) ;) (expression_statement "uVar24 = uVar20 & 0xff;" (assignment_expression "uVar24 = uVar20 & 0xff" identifier = (binary_expression "uVar20 & 0xff" identifier & number_literal)) ;) (expression_statement "uVar7 = uVar20 & 7;" (assignment_expression "uVar7 = uVar20 & 7" identifier = (binary_expression "uVar20 & 7" identifier & number_literal)) ;) (if_statement "if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;" if (parenthesized_expression "((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))" ( (binary_expression "(((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)))" (parenthesized_expression "(((uVar20 & 7) != 0) && (uVar7 != 3))" ( (binary_expression "((uVar20 & 7) != 0) && (uVar7 != 3)" (parenthesized_expression "((uVar20 & 7) != 0)" ( (binary_expression "(uVar20 & 7) != 0" (parenthesized_expression "(uVar20 & 7)" ( (binary_expression "uVar20 & 7" identifier & number_literal) )) != number_literal) )) && (parenthesized_expression "(uVar7 != 3)" ( (binary_expression "uVar7 != 3" identifier != number_literal) ))) )) && (parenthesized_expression "((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)))" ( (parenthesized_expression "(uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))" ( (binary_expression "uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)" (binary_expression "uVar7 != 4" identifier != number_literal) && (parenthesized_expression "(uVar13 = 0x10a, uVar7 != 2)" ( (comma_expression "uVar13 = 0x10a, uVar7 != 2" (assignment_expression "uVar13 = 0x10a" identifier = number_literal) , (binary_expression "uVar7 != 2" identifier != number_literal)) ))) )) ))) )) (goto_statement "goto LAB_002f529c;" goto statement_identifier ;)) (break_statement "break;" break ;) })) (if_statement "if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;" if (parenthesized_expression "((bStackY_e5 & 0x70) == 0)" ( (binary_expression "(bStackY_e5 & 0x70) == 0" (parenthesized_expression "(bStackY_e5 & 0x70)" ( (binary_expression "bStackY_e5 & 0x70" identifier & number_literal) )) == number_literal) )) (goto_statement "goto LAB_002f516c;" goto statement_identifier ;)) (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);" statement_identifier : (expression_statement "(**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);" (call_expression "(**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cc9c4))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cc9c4)" * (pointer_expression "*(code **)(pcVar27 + 0x1cc9c4)" * (cast_expression "(code **)(pcVar27 + 0x1cc9c4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cc9c4)" ( (binary_expression "pcVar27 + 0x1cc9c4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784)" ( (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc8b0)" ( (binary_expression "pcVar27 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x7784" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" * (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar27 + 0x1cc8b0)" ( (binary_expression "pcVar27 + 0x1cc8b0" identifier + number_literal) )))) + number_literal) ))) ;)) }) while (parenthesized_expression "( true )" ( true )) ;) (labeled_statement "LAB_002f52c4:\n  uVar7 = uVar24 & 0x70;" statement_identifier : (expression_statement "uVar7 = uVar24 & 0x70;" (assignment_expression "uVar7 = uVar24 & 0x70" identifier = (binary_expression "uVar24 & 0x70" identifier & number_literal)) ;)) (if_statement "if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" if (parenthesized_expression "(uVar7 == 0x10)" ( (binary_expression "uVar7 == 0x10" identifier == number_literal) )) (compound_statement "{\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }" { (labeled_statement "LAB_002f532c:\n    uVar24 = (uint)(char)uVar24;" statement_identifier : (expression_statement "uVar24 = (uint)(char)uVar24;" (assignment_expression "uVar24 = (uint)(char)uVar24" identifier = (cast_expression "(uint)(char)uVar24" ( (type_descriptor "uint" type_identifier) ) (cast_expression "(char)uVar24" ( (type_descriptor "char" primitive_type) ) identifier))) ;)) (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" identifier = number_literal) ;) (if_statement "if (-1 < (int)uVar24) {\n      return;\n    }" if (parenthesized_expression "(-1 < (int)uVar24)" ( (binary_expression "-1 < (int)uVar24" number_literal < (cast_expression "(int)uVar24" ( (type_descriptor "int" primitive_type) ) identifier)) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" else (compound_statement "{\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" { (if_statement "if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }" if (parenthesized_expression "(uVar7 == 0x30)" ( (binary_expression "uVar7 == 0x30" identifier == number_literal) )) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }" { (if_statement "if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" if (parenthesized_expression "(*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0)" ( (binary_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (binary_expression "**(int **)(pcVar28 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar28 + 0x1cc778)" * (pointer_expression "*(int **)(pcVar28 + 0x1cc778)" * (cast_expression "(int **)(pcVar28 + 0x1cc778)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc778)" ( (binary_expression "pcVar28 + 0x1cc778" identifier + number_literal) ))))) + number_literal) )))) != (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" { (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))" ( (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" * (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" * (cast_expression "(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" ( (binary_expression "**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" * (pointer_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" * (cast_expression "(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(**(int **)(pcVar28 + 0x1cc778) + 0xc)" ( (binary_expression "**(int **)(pcVar28 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar28 + 0x1cc778)" * (pointer_expression "*(int **)(pcVar28 + 0x1cc778)" * (cast_expression "(int **)(pcVar28 + 0x1cc778)" ( (type_descriptor "int **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc778)" ( (binary_expression "pcVar28 + 0x1cc778" identifier + number_literal) ))))) + number_literal) ))))) + number_literal) ))))) )) (argument_list "()" ( ))) ;) (goto_statement "goto LAB_002f532c;" goto statement_identifier ;) })) (expression_statement "iVar2 = 0x69;" (assignment_expression "iVar2 = 0x69" identifier = number_literal) ;) (expression_statement "pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);" (assignment_expression "pcVar27 = *(code **)(pcVar28 + 0x1cc7f4)" identifier = (pointer_expression "*(code **)(pcVar28 + 0x1cc7f4)" * (cast_expression "(code **)(pcVar28 + 0x1cc7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc7f4)" ( (binary_expression "pcVar28 + 0x1cc7f4" identifier + number_literal) ))))) ;) (expression_statement "puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);" (assignment_expression "puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" identifier = (cast_expression "(undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" ( (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc6e0)" ( (binary_expression "pcVar28 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" identifier = (cast_expression "(int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" ( (binary_expression "*(int *)(pcVar28 + 0x1cc040) + -0x9b8" (pointer_expression "*(int *)(pcVar28 + 0x1cc040)" * (cast_expression "(int *)(pcVar28 + 0x1cc040)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc040)" ( (binary_expression "pcVar28 + 0x1cc040" identifier + number_literal) )))) + number_literal) )))) ;) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" ( (pointer_expression "*pcVar27" * identifier) )) (argument_list "()" ( ))) ;) (expression_statement "iVar8 = piVar11[1];" (assignment_expression "iVar8 = piVar11[1]" identifier = (subscript_expression "piVar11[1]" identifier [ number_literal ])) ;) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" identifier = (pointer_expression "*piVar11" * identifier)) ;) (expression_statement "iVar22 = iVar2 - iVar6;" (assignment_expression "iVar22 = iVar2 - iVar6" identifier = (binary_expression "iVar2 - iVar6" identifier - identifier)) ;) (expression_statement "uVar7 = iVar8 - iVar6 >> 2;" (assignment_expression "uVar7 = iVar8 - iVar6 >> 2" identifier = (binary_expression "iVar8 - iVar6 >> 2" (binary_expression "iVar8 - iVar6" identifier - identifier) >> number_literal)) ;) (if_statement "if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }" { (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" identifier = number_literal) ;) (labeled_statement "LAB_002f558c:\n        iVar10 = uVar20 << 2;" statement_identifier : (expression_statement "iVar10 = uVar20 << 2;" (assignment_expression "iVar10 = uVar20 << 2" identifier = (binary_expression "uVar20 << 2" identifier << number_literal)) ;)) (labeled_statement "LAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);" statement_identifier : (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10)" identifier = (call_expression "(**(code **)(pcVar27 + 0x1cbfbc))(iVar10)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cbfbc))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cbfbc)" * (pointer_expression "*(code **)(pcVar27 + 0x1cbfbc)" * (cast_expression "(code **)(pcVar27 + 0x1cbfbc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cbfbc)" ( (binary_expression "pcVar27 + 0x1cbfbc" identifier + number_literal) ))))) )) (argument_list "(iVar10)" ( identifier )))) ;)) (expression_statement "iVar10 = iVar4 + iVar10;" (assignment_expression "iVar10 = iVar4 + iVar10" identifier = (binary_expression "iVar4 + iVar10" identifier + identifier)) ;) }) (else_clause "else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" else (compound_statement "{\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" { (expression_statement "uVar20 = uVar7 << 1;" (assignment_expression "uVar20 = uVar7 << 1" identifier = (binary_expression "uVar7 << 1" identifier << number_literal)) ;) (if_statement "if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }" if (parenthesized_expression "(uVar20 < uVar7)" ( (binary_expression "uVar20 < uVar7" identifier < identifier) )) (compound_statement "{\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }" { (expression_statement "iVar10 = -4;" (assignment_expression "iVar10 = -4" identifier = number_literal) ;) (goto_statement "goto LAB_002f5460;" goto statement_identifier ;) })) (expression_statement "iVar10 = -4;" (assignment_expression "iVar10 = -4" identifier = number_literal) ;) (if_statement "if (0x3fffffff < uVar20) goto LAB_002f5460;" if (parenthesized_expression "(0x3fffffff < uVar20)" ( (binary_expression "0x3fffffff < uVar20" number_literal < identifier) )) (goto_statement "goto LAB_002f5460;" goto statement_identifier ;)) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" identifier = number_literal) ;) (if_statement "if (uVar20 != 0) goto LAB_002f558c;" if (parenthesized_expression "(uVar20 != 0)" ( (binary_expression "uVar20 != 0" identifier != number_literal) )) (goto_statement "goto LAB_002f558c;" goto statement_identifier ;)) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" identifier = number_literal) ;) }))) (expression_statement "iVar21 = iVar4 + iVar22 + 4;" (assignment_expression "iVar21 = iVar4 + iVar22 + 4" identifier = (binary_expression "iVar4 + iVar22 + 4" (binary_expression "iVar4 + iVar22" identifier + identifier) + number_literal)) ;) (expression_statement "*(undefined4 *)(iVar4 + iVar22) = *puVar15;" (assignment_expression "*(undefined4 *)(iVar4 + iVar22) = *puVar15" (pointer_expression "*(undefined4 *)(iVar4 + iVar22)" * (cast_expression "(undefined4 *)(iVar4 + iVar22)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar4 + iVar22)" ( (binary_expression "iVar4 + iVar22" identifier + identifier) )))) = (pointer_expression "*puVar15" * identifier)) ;) (expression_statement "iVar29 = iVar21 + (iVar8 - iVar2);" (assignment_expression "iVar29 = iVar21 + (iVar8 - iVar2)" identifier = (binary_expression "iVar21 + (iVar8 - iVar2)" identifier + (parenthesized_expression "(iVar8 - iVar2)" ( (binary_expression "iVar8 - iVar2" identifier - identifier) )))) ;) (if_statement "if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" if (parenthesized_expression "(iVar6 == iVar2)" ( (binary_expression "iVar6 == iVar2" identifier == identifier) )) (compound_statement "{\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }" { (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1d07bc);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1d07bc)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1d07bc)" * (cast_expression "(code **)(pcVar27 + 0x1d07bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1d07bc)" ( (binary_expression "pcVar27 + 0x1d07bc" identifier + number_literal) ))))) ;) (if_statement "if (iVar8 != iVar6) goto LAB_002f54c0;" if (parenthesized_expression "(iVar8 != iVar6)" ( (binary_expression "iVar8 != iVar6" identifier != identifier) )) (goto_statement "goto LAB_002f54c0;" goto statement_identifier ;)) }) (else_clause "else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" else (compound_statement "{\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" { (expression_statement "(**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);" (call_expression "(**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1d070c))" ( (pointer_expression "**(code **)(pcVar27 + 0x1d070c)" * (pointer_expression "*(code **)(pcVar27 + 0x1d070c)" * (cast_expression "(code **)(pcVar27 + 0x1d070c)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1d070c)" ( (binary_expression "pcVar27 + 0x1d070c" identifier + number_literal) ))))) )) (argument_list "(iVar4,iVar6,iVar22)" ( identifier , identifier , identifier ))) ;) (if_statement "if (iVar8 == iVar2) goto LAB_002f5514;" if (parenthesized_expression "(iVar8 == iVar2)" ( (binary_expression "iVar8 == iVar2" identifier == identifier) )) (goto_statement "goto LAB_002f5514;" goto statement_identifier ;)) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1d07bc);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1d07bc)" identifier = (pointer_expression "*(code **)(pcVar27 + 0x1d07bc)" * (cast_expression "(code **)(pcVar27 + 0x1d07bc)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1d07bc)" ( (binary_expression "pcVar27 + 0x1d07bc" identifier + number_literal) ))))) ;) (labeled_statement "LAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);" statement_identifier : (expression_statement "(*pcVar28)(iVar21,iVar2,iVar8 - iVar2);" (call_expression "(*pcVar28)(iVar21,iVar2,iVar8 - iVar2)" (parenthesized_expression "(*pcVar28)" ( (pointer_expression "*pcVar28" * identifier) )) (argument_list "(iVar21,iVar2,iVar8 - iVar2)" ( identifier , identifier , (binary_expression "iVar8 - iVar2" identifier - identifier) ))) ;)) }))) (if_statement "if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }" if (parenthesized_expression "(iVar6 == 0)" ( (binary_expression "iVar6 == 0" identifier == number_literal) )) (compound_statement "{\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }" { (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "piVar11[1] = iVar29;" (assignment_expression "piVar11[1] = iVar29" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11[2] = iVar10;" (assignment_expression "piVar11[2] = iVar10" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (labeled_statement "LAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);" statement_identifier : (expression_statement "(**(code **)(pcVar27 + 0x1cbf10))(iVar6);" (call_expression "(**(code **)(pcVar27 + 0x1cbf10))(iVar6)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cbf10))" ( (pointer_expression "**(code **)(pcVar27 + 0x1cbf10)" * (pointer_expression "*(code **)(pcVar27 + 0x1cbf10)" * (cast_expression "(code **)(pcVar27 + 0x1cbf10)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar27 + 0x1cbf10)" ( (binary_expression "pcVar27 + 0x1cbf10" identifier + number_literal) ))))) )) (argument_list "(iVar6)" ( identifier ))) ;)) (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" * identifier) = identifier) ;) (expression_statement "piVar11[1] = iVar29;" (assignment_expression "piVar11[1] = iVar29" (subscript_expression "piVar11[1]" identifier [ number_literal ]) = identifier) ;) (expression_statement "piVar11[2] = iVar10;" (assignment_expression "piVar11[2] = iVar10" (subscript_expression "piVar11[2]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) })) (if_statement "if (uVar7 == 0) goto LAB_002f532c;" if (parenthesized_expression "(uVar7 == 0)" ( (binary_expression "uVar7 == 0" identifier == number_literal) )) (goto_statement "goto LAB_002f532c;" goto statement_identifier ;)) (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" identifier = number_literal) ;) }))) (labeled_statement "LAB_002f529c:\n  (**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);" statement_identifier : (expression_statement "(**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);" (call_expression "(**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc7f4))" ( (pointer_expression "**(code **)(pcVar28 + 0x1cc7f4)" * (pointer_expression "*(code **)(pcVar28 + 0x1cc7f4)" * (cast_expression "(code **)(pcVar28 + 0x1cc7f4)" ( (type_descriptor "code **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(pcVar28 + 0x1cc7f4)" ( (binary_expression "pcVar28 + 0x1cc7f4" identifier + number_literal) ))))) )) (argument_list "(*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768)" ( (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc6e0)" ( (binary_expression "pcVar28 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) , identifier , (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x7768" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" * (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar28 + 0x1cc6e0)" ( (binary_expression "pcVar28 + 0x1cc6e0" identifier + number_literal) )))) + number_literal) ))) ;)) (goto_statement "goto LAB_002f52c4;" goto statement_identifier ;) (ERROR "}" }))
(translation_unit (declaration TYPE (ms_call_modifier __thiscall) (ERROR IDENT : : IDENT : :) IDENT (ERROR < LIT) , (ERROR (function_declarator IDENT (ERROR >) (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) { IDENT) (pointer_declarator * 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 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE 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 * 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 (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (update_expression (binary_expression (assignment_expression IDENT = (binary_expression (binary_expression IDENT < IDENT) < IDENT)) (ERROR , 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 = (pointer_expression * (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 < 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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression 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 = (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT < (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 *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))))) ;) (if_statement if (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) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) < IDENT) ))))) , (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) != (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (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 *))) ) IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (comma_expression (assignment_expression IDENT = (binary_expression IDENT < LIT)) , (binary_expression BOOL > (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression (binary_expression IDENT + IDENT) , (pointer_expression * IDENT)))) )))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (pointer_expression * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) )) ;) })) (return_statement return ;) })) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) , LIT , (binary_expression IDENT + LIT) ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( (binary_expression IDENT + LIT) ))) ;) (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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( IDENT ))) * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (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 *)) ) (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) ^ LIT) )) - 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 + (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + IDENT) + LIT) ))))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) }))) (while_statement while (parenthesized_expression ( BOOL )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (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 * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (break_statement break ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (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 * (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) + LIT) ))))) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) })) (expression_statement (assignment_expression IDENT = 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) )))) ;) (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) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_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 = (pointer_expression * (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 IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_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 IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT << LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (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) ))))) ))) + (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 <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT) || (parenthesized_expression ( (binary_expression IDENT <= (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (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) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT)) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ 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 IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (comma_expression (assignment_expression IDENT = (binary_expression IDENT < LIT)) , (binary_expression BOOL > (parenthesized_expression ( (comma_expression IDENT , (comma_expression IDENT , (comma_expression (binary_expression IDENT + IDENT) , (comma_expression (pointer_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 * IDENT))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) while (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) != IDENT) )) ;) })) (return_statement return ;) })) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) })) (expression_statement (assignment_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 (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 ( IDENT , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT <= (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (subscript_expression IDENT [ LIT ]) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) >> LIT) )))) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = 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 * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression IDENT * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (pointer_expression * IDENT))) ;) }))) (for_statement for ( ; (binary_expression IDENT != IDENT) ; (assignment_expression IDENT = (binary_expression IDENT + 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 (pointer_expression * IDENT) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression IDENT = (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 (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( ))) ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) - (cast_expression ( (type_descriptor TYPE) ) IDENT)) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + (binary_expression IDENT * LIT)) )))) ;) (return_statement return ;) })) (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 (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + 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 (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (do_statement do (compound_statement { (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 = LIT) ;)) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (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 * (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) + LIT) ))))) )) (argument_list ( ))) ;) (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) ))))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , LIT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & 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 (parenthesized_expression ( (binary_expression IDENT & LIT) )) != LIT) )) && (parenthesized_expression ( (binary_expression IDENT != LIT) ))) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != LIT) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = LIT) , (binary_expression IDENT != LIT)) ))) )) ))) )) (goto_statement goto statement_identifier ;)) (break_statement break ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) }) while (parenthesized_expression ( BOOL )) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (cast_expression ( (type_descriptor TYPE) ) IDENT)) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) )))) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (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 * (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 *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) + LIT) ))))) + LIT) ))))) )) (argument_list ( ))) ;) (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 *))) ) (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 * (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) )))) ;) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT - IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - IDENT) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;)) (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT )))) ;)) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT << LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT + IDENT) + LIT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (parenthesized_expression ( (binary_expression IDENT - IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT , IDENT , IDENT ))) ;) (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 IDENT + LIT) ))))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * IDENT) )) (argument_list ( IDENT , IDENT , (binary_expression IDENT - IDENT) ))) ;)) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( IDENT ))) ;)) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = LIT) ;) }))) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (argument_list ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) , IDENT , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))) ;)) (goto_statement goto statement_identifier ;) (ERROR }))
(declaration "void __thiscall\ngold::Eh_frame_hdr::get_fde_addresses<32,false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4 *puVar1;" (primitive_type "void") (ms_call_modifier "__thiscall" (__thiscall "__thiscall")) (ERROR "gold::Eh_frame_hdr::" (identifier "gold") (: ":") (: ":") (identifier "Eh_frame_hdr") (: ":") (: ":")) (identifier "get_fde_addresses") (ERROR "<32" (< "<") (number_literal "32")) (, ",") (ERROR "false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)\n\n{\n  undefined4" (function_declarator "false>\n          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)" (identifier "false") (ERROR ">" (> ">")) (parameter_list "(Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)" (( "(") (parameter_declaration "Eh_frame_hdr *this" (type_identifier "Eh_frame_hdr") (pointer_declarator "*this" (* "*") (identifier "this"))) (, ",") (parameter_declaration "Output_file *param_1" (type_identifier "Output_file") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "vector *param_2" (type_identifier "vector") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "Fde_addresses *param_3" (type_identifier "Fde_addresses") (pointer_declarator "*param_3" (* "*") (identifier "param_3"))) () ")"))) ({ "{") (identifier "undefined4")) (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "byte bVar5;" (type_identifier "byte") (identifier "bVar5") (; ";")) (declaration "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "int iVar6;" (primitive_type "int") (identifier "iVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "int extraout_v1;" (primitive_type "int") (identifier "extraout_v1") (; ";")) (declaration "int iVar8;" (primitive_type "int") (identifier "iVar8") (; ";")) (declaration "Eh_frame_hdr *pEVar9;" (type_identifier "Eh_frame_hdr") (pointer_declarator "*pEVar9" (* "*") (identifier "pEVar9")) (; ";")) (declaration "int iVar10;" (primitive_type "int") (identifier "iVar10") (; ";")) (declaration "int *piVar11;" (primitive_type "int") (pointer_declarator "*piVar11" (* "*") (identifier "piVar11")) (; ";")) (declaration "undefined4 *puVar12;" (type_identifier "undefined4") (pointer_declarator "*puVar12" (* "*") (identifier "puVar12")) (; ";")) (declaration "undefined4 uVar13;" (type_identifier "undefined4") (identifier "uVar13") (; ";")) (declaration "undefined *puVar14;" (type_identifier "undefined") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "undefined4 *puVar15;" (type_identifier "undefined4") (pointer_declarator "*puVar15" (* "*") (identifier "puVar15")) (; ";")) (declaration "undefined4 uVar16;" (type_identifier "undefined4") (identifier "uVar16") (; ";")) (declaration "Fde_addresses *pFVar17;" (type_identifier "Fde_addresses") (pointer_declarator "*pFVar17" (* "*") (identifier "pFVar17")) (; ";")) (declaration "undefined4 uVar18;" (type_identifier "undefined4") (identifier "uVar18") (; ";")) (declaration "int *piVar19;" (primitive_type "int") (pointer_declarator "*piVar19" (* "*") (identifier "piVar19")) (; ";")) (declaration "uint uVar20;" (type_identifier "uint") (identifier "uVar20") (; ";")) (declaration "int iVar21;" (primitive_type "int") (identifier "iVar21") (; ";")) (declaration "Fde_addresses *unaff_s1;" (type_identifier "Fde_addresses") (pointer_declarator "*unaff_s1" (* "*") (identifier "unaff_s1")) (; ";")) (declaration "int iVar22;" (primitive_type "int") (identifier "iVar22") (; ";")) (declaration "undefined4 *puVar23;" (type_identifier "undefined4") (pointer_declarator "*puVar23" (* "*") (identifier "puVar23")) (; ";")) (declaration "uint uVar24;" (type_identifier "uint") (identifier "uVar24") (; ";")) (declaration "undefined4 *puVar25;" (type_identifier "undefined4") (pointer_declarator "*puVar25" (* "*") (identifier "puVar25")) (; ";")) (declaration "undefined *puVar26;" (type_identifier "undefined") (pointer_declarator "*puVar26" (* "*") (identifier "puVar26")) (; ";")) (declaration "code *pcVar27;" (type_identifier "code") (pointer_declarator "*pcVar27" (* "*") (identifier "pcVar27")) (; ";")) (declaration "code *pcVar28;" (type_identifier "code") (pointer_declarator "*pcVar28" (* "*") (identifier "pcVar28")) (; ";")) (declaration "int iVar29;" (primitive_type "int") (identifier "iVar29") (; ";")) (declaration "byte bStackY_e5;" (type_identifier "byte") (identifier "bStackY_e5") (; ";")) (declaration "undefined4 uStack_a8;" (type_identifier "undefined4") (identifier "uStack_a8") (; ";")) (declaration "int iStack_a4;" (primitive_type "int") (identifier "iStack_a4") (; ";")) (declaration "uint uStack_a0;" (type_identifier "uint") (identifier "uStack_a0") (; ";")) (declaration "Fde_addresses *pFStack_9c;" (type_identifier "Fde_addresses") (pointer_declarator "*pFStack_9c" (* "*") (identifier "pFStack_9c")) (; ";")) (declaration "byte bStack_3d;" (type_identifier "byte") (identifier "bStack_3d") (; ";")) (declaration "undefined4 local_30;" (type_identifier "undefined4") (identifier "local_30") (; ";")) (declaration "Fde_addresses *local_2c;" (type_identifier "Fde_addresses") (pointer_declarator "*local_2c" (* "*") (identifier "local_2c")) (; ";")) (expression_statement "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84;" (update_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84" (binary_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84" (assignment_expression "puVar26 = PTR_emplace_back<std_pair<unsigned_int" (identifier "puVar26") (= "=") (binary_expression "PTR_emplace_back<std_pair<unsigned_int" (binary_expression "PTR_emplace_back<std_pair" (identifier "PTR_emplace_back") (< "<") (identifier "std_pair")) (< "<") (identifier "unsigned_int"))) (ERROR ",unsigned_int" (, ",") (identifier "unsigned_int")) (>> ">>") (identifier "_004c3a84")) (-- "")) (; ";")) (expression_statement "iVar6 = *(int *)(this + 0x30);" (assignment_expression "iVar6 = *(int *)(this + 0x30)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(this + 0x30)" (* "*") (cast_expression "(int *)(this + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(this + 0x30)" (( "(") (binary_expression "this + 0x30" (identifier "this") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar2 = *(int *)(iVar6 + 0x20)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar6 + 0x20)" (* "*") (cast_expression "(int *)(iVar6 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "pFVar17 = param_3;" (assignment_expression "pFVar17 = param_3" (identifier "pFVar17") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (iVar2 < 0) {\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }\n    (*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);\n  }" ({ "{") (expression_statement "unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);" (assignment_expression "unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc)" (identifier "unaff_s1") (= "=") (pointer_expression "*(Fde_addresses **)(iVar6 + 0xc)" (* "*") (cast_expression "(Fde_addresses **)(iVar6 + 0xc)" (( "(") (type_descriptor "Fde_addresses **" (type_identifier "Fde_addresses") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar2 << 2 < 0) {\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" (if "if") (parenthesized_expression "(iVar2 << 2 < 0)" (( "(") (binary_expression "iVar2 << 2 < 0" (binary_expression "iVar2 << 2" (identifier "iVar2") (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      iVar8 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);\n    }" ({ "{") (expression_statement "iVar8 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar8 = *(int *)(iVar6 + 0x1c)" (identifier "iVar8") (= "=") (pointer_expression "*(int *)(iVar6 + 0x1c)" (* "*") (cast_expression "(int *)(iVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" (if "if") (parenthesized_expression "(iVar2 << 1 < 0)" (( "(") (binary_expression "iVar2 << 1 < 0" (binary_expression "iVar2 << 1" (identifier "iVar2") (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" ({ "{") (if_statement "if (-1 < *(int *)(iVar6 + 0x18)) {\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(iVar6 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;\n          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }\n        }" ({ "{") (expression_statement "pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;" (assignment_expression "pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8" (identifier "pFVar17") (= "=") (binary_expression "*(Fde_addresses **)(iVar6 + 0x14) + iVar8" (pointer_expression "*(Fde_addresses **)(iVar6 + 0x14)" (* "*") (cast_expression "(Fde_addresses **)(iVar6 + 0x14)" (( "(") (type_descriptor "Fde_addresses **" (type_identifier "Fde_addresses") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "iVar8"))) (; ";")) (expression_statement "iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);" (assignment_expression "iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (identifier "iVar2") (= "=") (binary_expression "(uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (call_expression "(uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14))" (( "(") (binary_expression "pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)" (identifier "pFVar17") (< "<") (pointer_expression "*(Fde_addresses **)(iVar6 + 0x14)" (* "*") (cast_expression "(Fde_addresses **)(iVar6 + 0x14)" (( "(") (type_descriptor "Fde_addresses **" (type_identifier "Fde_addresses") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))) {\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }" (if "if") (parenthesized_expression "((iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0))))" (( "(") (binary_expression "(iVar2 <= *(int *)(param_1 + 8)) &&\n             ((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))" (parenthesized_expression "(iVar2 <= *(int *)(param_1 + 8))" (( "(") (binary_expression "iVar2 <= *(int *)(param_1 + 8)" (identifier "iVar2") (<= "<=") (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)))" (( "(") (parenthesized_expression "(*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0))" (( "(") (binary_expression "*(int *)(param_1 + 8) != iVar2 ||\n              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)" (binary_expression "*(int *)(param_1 + 8) != iVar2" (pointer_expression "*(int *)(param_1 + 8)" (* "*") (cast_expression "(int *)(param_1 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar2")) (|| "||") (parenthesized_expression "(pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0)" (( "(") (comma_expression "pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),\n              pFVar17 == (Fde_addresses *)0x0" (assignment_expression "pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" (identifier "pFVar17") (= "=") (cast_expression "(Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" (( "(") (type_descriptor "Fde_addresses *" (type_identifier "Fde_addresses") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(*(Fde_addresses **)(param_1 + 0xc) < pFVar17)" (( "(") (binary_expression "*(Fde_addresses **)(param_1 + 0xc) < pFVar17" (pointer_expression "*(Fde_addresses **)(param_1 + 0xc)" (* "*") (cast_expression "(Fde_addresses **)(param_1 + 0xc)" (( "(") (type_descriptor "Fde_addresses **" (type_identifier "Fde_addresses") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (< "<") (identifier "pFVar17")) () ")"))))) (, ",") (binary_expression "pFVar17 == (Fde_addresses *)0x0" (identifier "pFVar17") (== "==") (cast_expression "(Fde_addresses *)0x0" (( "(") (type_descriptor "Fde_addresses *" (type_identifier "Fde_addresses") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            iVar2 = *(int *)(param_1 + 0x10);\n            if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }\n            return;\n          }" ({ "{") (expression_statement "iVar2 = *(int *)(param_1 + 0x10);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x10)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x10)" (* "*") (cast_expression "(int *)(param_1 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x10)" (( "(") (binary_expression "param_1 + 0x10" (identifier "param_1") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if (*(int **)param_2 != *(int **)(param_2 + 4)) {\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }" (if "if") (parenthesized_expression "(*(int **)param_2 != *(int **)(param_2 + 4))" (( "(") (binary_expression "*(int **)param_2 != *(int **)(param_2 + 4)" (pointer_expression "*(int **)param_2" (* "*") (cast_expression "(int **)param_2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_2"))) (!= "!=") (pointer_expression "*(int **)(param_2 + 4)" (* "*") (cast_expression "(int **)(param_2 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")"))))) () ")")) (compound_statement "{\n              piVar11 = *(int **)param_2;\n              do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);\n            }" ({ "{") (expression_statement "piVar11 = *(int **)param_2;" (assignment_expression "piVar11 = *(int **)param_2" (identifier "piVar11") (= "=") (pointer_expression "*(int **)param_2" (* "*") (cast_expression "(int **)param_2" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "param_2")))) (; ";")) (do_statement "do {\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              } while (*(int **)(param_2 + 4) != piVar19);" (do "do") (compound_statement "{\n                piVar19 = piVar11 + 2;\n                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);\n                local_2c = unaff_s1 + *piVar11;\n                (*(code *)puVar26)(param_3,&local_30);\n                piVar11 = piVar19;\n              }" ({ "{") (expression_statement "piVar19 = piVar11 + 2;" (assignment_expression "piVar19 = piVar11 + 2" (identifier "piVar19") (= "=") (binary_expression "piVar11 + 2" (identifier "piVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);" (comma_expression "local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11)" (assignment_expression "local_30 = get_fde_pc<32" (identifier "local_30") (= "=") (binary_expression "get_fde_pc<32" (identifier "get_fde_pc") (< "<") (number_literal "32"))) (, ",") (binary_expression "false>(this,unaff_s1,iVar2 + iVar8,*piVar11)" (false "false") (> ">") (parenthesized_expression "(this,unaff_s1,iVar2 + iVar8,*piVar11)" (( "(") (comma_expression "this,unaff_s1,iVar2 + iVar8,*piVar11" (identifier "this") (, ",") (comma_expression "unaff_s1,iVar2 + iVar8,*piVar11" (identifier "unaff_s1") (, ",") (comma_expression "iVar2 + iVar8,*piVar11" (binary_expression "iVar2 + iVar8" (identifier "iVar2") (+ "+") (identifier "iVar8")) (, ",") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))))) () ")")))) (; ";")) (expression_statement "local_2c = unaff_s1 + *piVar11;" (assignment_expression "local_2c = unaff_s1 + *piVar11" (identifier "local_2c") (= "=") (binary_expression "unaff_s1 + *piVar11" (identifier "unaff_s1") (+ "+") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (expression_statement "(*(code *)puVar26)(param_3,&local_30);" (call_expression "(*(code *)puVar26)(param_3,&local_30)" (parenthesized_expression "(*(code *)puVar26)" (( "(") (pointer_expression "*(code *)puVar26" (* "*") (cast_expression "(code *)puVar26" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "puVar26"))) () ")")) (argument_list "(param_3,&local_30)" (( "(") (identifier "param_3") (, ",") (pointer_expression "&local_30" (& "&") (identifier "local_30")) () ")"))) (; ";")) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" (identifier "piVar11") (= "=") (identifier "piVar19")) (; ";")) (} "}")) (while "while") (parenthesized_expression "(*(int **)(param_2 + 4) != piVar19)" (( "(") (binary_expression "*(int **)(param_2 + 4) != piVar19" (pointer_expression "*(int **)(param_2 + 4)" (* "*") (cast_expression "(int **)(param_2 + 4)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_2 + 4)" (( "(") (binary_expression "param_2 + 4" (identifier "param_2") (+ "+") (number_literal "4")) () ")")))) (!= "!=") (identifier "piVar19")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_002f2158();" (call_expression "FUN_002f2158()" (identifier "FUN_002f2158") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,\n                 PTR_s_in_a_linker_script_004c191c + 0x77e8)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77e8" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x77e8")) () ")"))) (; ";")) (} "}"))) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)\n              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,\n               PTR_s_in_a_linker_script_004c191c + 0x77f4)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77f4" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x77f4")) () ")"))) (; ";")) (} "}"))) (expression_statement "iVar2 = 0xc5;" (assignment_expression "iVar2 = 0xc5" (identifier "iVar2") (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc;" (assignment_expression "puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc" (identifier "puVar14") (= "=") (binary_expression "PTR_s_in_a_linker_script_004c191c + 0x77bc" (identifier "PTR_s_in_a_linker_script_004c191c") (+ "+") (number_literal "0x77bc"))) (; ";")) (expression_statement "puVar26 = PTR_do_gold_unreachable_004c1a30;" (assignment_expression "puVar26 = PTR_do_gold_unreachable_004c1a30" (identifier "puVar26") (= "=") (identifier "PTR_do_gold_unreachable_004c1a30")) (; ";")) (expression_statement "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);" (call_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" (parenthesized_expression "(*(code *)PTR_do_gold_unreachable_004c1a30)" (( "(") (pointer_expression "*(code *)PTR_do_gold_unreachable_004c1a30" (* "*") (cast_expression "(code *)PTR_do_gold_unreachable_004c1a30" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_do_gold_unreachable_004c1a30"))) () ")")) (argument_list "(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574)" (( "(") (binary_expression "PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574" (identifier "PTR_s_ral_options14Struct_no_crefE_004c127c") (+ "+") (number_literal "0x3574")) () ")"))) (; ";")) (expression_statement "uVar20 = (uint)bStack_3d;" (assignment_expression "uVar20 = (uint)bStack_3d" (identifier "uVar20") (= "=") (cast_expression "(uint)bStack_3d" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bStack_3d"))) (; ";")) (expression_statement "uVar7 = uVar20 & 7;" (assignment_expression "uVar7 = uVar20 & 7" (identifier "uVar7") (= "=") (binary_expression "uVar20 & 7" (identifier "uVar20") (& "&") (number_literal "7"))) (; ";")) (if_statement "if (((bStack_3d & 7) == 0) || (uVar7 == 3)) {\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }\n  else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" (if "if") (parenthesized_expression "(((bStack_3d & 7) == 0) || (uVar7 == 3))" (( "(") (binary_expression "((bStack_3d & 7) == 0) || (uVar7 == 3)" (parenthesized_expression "((bStack_3d & 7) == 0)" (( "(") (binary_expression "(bStack_3d & 7) == 0" (parenthesized_expression "(bStack_3d & 7)" (( "(") (binary_expression "bStack_3d & 7" (identifier "bStack_3d") (& "&") (number_literal "7")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar7 == 3)" (( "(") (binary_expression "uVar7 == 3" (identifier "uVar7") (== "==") (number_literal "3")) () ")"))) () ")")) (compound_statement "{\n    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));\n  }" ({ "{") (expression_statement "unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));" (assignment_expression "unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" (identifier "unaff_s1") (= "=") (pointer_expression "*(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" (* "*") (cast_expression "(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8))" (( "(") (type_descriptor "Fde_addresses **" (type_identifier "Fde_addresses") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar14 + (int)(pFVar17 + 8))" (( "(") (binary_expression "puVar14 + (int)(pFVar17 + 8)" (identifier "puVar14") (+ "+") (cast_expression "(int)(pFVar17 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pFVar17 + 8)" (( "(") (binary_expression "pFVar17 + 8" (identifier "pFVar17") (+ "+") (number_literal "8")) () ")")))) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" (else "else") (compound_statement "{\n    if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }\n    if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }\n    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));\n    if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }\n  }" ({ "{") (if_statement "if (uVar7 == 4) {\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }" (if "if") (parenthesized_expression "(uVar7 == 4)" (( "(") (binary_expression "uVar7 == 4" (identifier "uVar7") (== "==") (number_literal "4")) () ")")) (compound_statement "{\n      uVar13 = 0x104;\n      goto LAB_002f4d08;\n    }" ({ "{") (expression_statement "uVar13 = 0x104;" (assignment_expression "uVar13 = 0x104" (identifier "uVar13") (= "=") (number_literal "0x104")) (; ";")) (goto_statement "goto LAB_002f4d08;" (goto "goto") (statement_identifier "LAB_002f4d08") (; ";")) (} "}"))) (if_statement "if (uVar7 != 2) {\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }" (if "if") (parenthesized_expression "(uVar7 != 2)" (( "(") (binary_expression "uVar7 != 2" (identifier "uVar7") (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      uVar13 = 0x10a;\n      goto LAB_002f4d08;\n    }" ({ "{") (expression_statement "uVar13 = 0x10a;" (assignment_expression "uVar13 = 0x10a" (identifier "uVar13") (= "=") (number_literal "0x10a")) (; ";")) (goto_statement "goto LAB_002f4d08;" (goto "goto") (statement_identifier "LAB_002f4d08") (; ";")) (} "}"))) (expression_statement "unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));" (assignment_expression "unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8))" (identifier "unaff_s1") (= "=") (binary_expression "(Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8))" (cast_expression "(Fde_addresses *)(uint)" (( "(") (type_descriptor "Fde_addresses *" (type_identifier "Fde_addresses") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")"))) (* "*") (cast_expression "(ushort *)(puVar14 + (int)(pFVar17 + 8))" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + (int)(pFVar17 + 8))" (( "(") (binary_expression "puVar14 + (int)(pFVar17 + 8)" (identifier "puVar14") (+ "+") (cast_expression "(int)(pFVar17 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pFVar17 + 8)" (( "(") (binary_expression "pFVar17 + 8" (identifier "pFVar17") (+ "+") (number_literal "8")) () ")")))) () ")"))))) (; ";")) (if_statement "if ((bStack_3d & 8) != 0) {\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }" (if "if") (parenthesized_expression "((bStack_3d & 8) != 0)" (( "(") (binary_expression "(bStack_3d & 8) != 0" (parenthesized_expression "(bStack_3d & 8)" (( "(") (binary_expression "bStack_3d & 8" (identifier "bStack_3d") (& "&") (number_literal "8")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);\n    }" ({ "{") (expression_statement "unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);" (assignment_expression "unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" (identifier "unaff_s1") (= "=") (cast_expression "(Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000)" (( "(") (type_descriptor "Fde_addresses *" (type_identifier "Fde_addresses") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(((uint)unaff_s1 ^ 0x8000) - 0x8000)" (( "(") (binary_expression "((uint)unaff_s1 ^ 0x8000) - 0x8000" (parenthesized_expression "((uint)unaff_s1 ^ 0x8000)" (( "(") (binary_expression "(uint)unaff_s1 ^ 0x8000" (cast_expression "(uint)unaff_s1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "unaff_s1")) (^ "^") (number_literal "0x8000")) () ")")) (- "-") (number_literal "0x8000")) () ")")))) (; ";")) (} "}"))) (} "}")))) (if_statement "if ((uVar20 & 0x70) == 0x10) {\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }\n  else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" (if "if") (parenthesized_expression "((uVar20 & 0x70) == 0x10)" (( "(") (binary_expression "(uVar20 & 0x70) == 0x10" (parenthesized_expression "(uVar20 & 0x70)" (( "(") (binary_expression "uVar20 & 0x70" (identifier "uVar20") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\n    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);\n  }" ({ "{") (expression_statement "unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);" (assignment_expression "unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8)" (identifier "unaff_s1") (= "=") (binary_expression "unaff_s1 + (int)(pFVar17 + iVar2 + 8)" (identifier "unaff_s1") (+ "+") (cast_expression "(int)(pFVar17 + iVar2 + 8)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(pFVar17 + iVar2 + 8)" (( "(") (binary_expression "pFVar17 + iVar2 + 8" (binary_expression "pFVar17 + iVar2" (identifier "pFVar17") (+ "+") (identifier "iVar2")) (+ "+") (number_literal "8")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" (else "else") (compound_statement "{\n    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;\n    if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }\n  }" ({ "{") (if_statement "if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;" (if "if") (parenthesized_expression "((uVar20 & 0x70) == 0x30)" (( "(") (binary_expression "(uVar20 & 0x70) == 0x30" (parenthesized_expression "(uVar20 & 0x70)" (( "(") (binary_expression "uVar20 & 0x70" (identifier "uVar20") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x30")) () ")")) (goto_statement "goto LAB_002f4d20;" (goto "goto") (statement_identifier "LAB_002f4d20") (; ";"))) (if_statement "if ((bStack_3d & 0x70) != 0) {\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }" (if "if") (parenthesized_expression "((bStack_3d & 0x70) != 0)" (( "(") (binary_expression "(bStack_3d & 0x70) != 0" (parenthesized_expression "(bStack_3d & 0x70)" (( "(") (binary_expression "bStack_3d & 0x70" (identifier "bStack_3d") (& "&") (number_literal "0x70")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar13 = 0x11d;\n      goto LAB_002f4d08;\n    }" ({ "{") (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" (identifier "uVar13") (= "=") (number_literal "0x11d")) (; ";")) (goto_statement "goto LAB_002f4d08;" (goto "goto") (statement_identifier "LAB_002f4d08") (; ";")) (} "}"))) (} "}")))) (while_statement "while( true ) {\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (compound_statement "{\n    uVar20 = (uint)(char)bStack_3d;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar20) {\n      return;\n    }\nLAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);\nLAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);\n    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;\n    bStack_3d = (byte)uVar20;\n    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();\n    unaff_s1 = unaff_s1 + extraout_v1;\n  }" ({ "{") (expression_statement "uVar20 = (uint)(char)bStack_3d;" (assignment_expression "uVar20 = (uint)(char)bStack_3d" (identifier "uVar20") (= "=") (cast_expression "(uint)(char)bStack_3d" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)bStack_3d" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bStack_3d")))) (; ";")) (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" (identifier "uVar13") (= "=") (number_literal "0x120")) (; ";")) (if_statement "if (-1 < (int)uVar20) {\n      return;\n    }" (if "if") (parenthesized_expression "(-1 < (int)uVar20)" (( "(") (binary_expression "-1 < (int)uVar20" (number_literal "-1") (< "<") (cast_expression "(int)uVar20" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar20"))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_002f4d08:\n    (**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);" (statement_identifier "LAB_002f4d08") (: ":") (expression_statement "(**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);" (call_expression "(**(code **)(puVar26 + 0x1ccdf0))\n              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0)" (parenthesized_expression "(**(code **)(puVar26 + 0x1ccdf0))" (( "(") (pointer_expression "**(code **)(puVar26 + 0x1ccdf0)" (* "*") (pointer_expression "*(code **)(puVar26 + 0x1ccdf0)" (* "*") (cast_expression "(code **)(puVar26 + 0x1ccdf0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x1ccdf0)" (( "(") (binary_expression "puVar26 + 0x1ccdf0" (identifier "puVar26") (+ "+") (number_literal "0x1ccdf0")) () ")"))))) () ")")) (argument_list "(*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0)" (( "(") (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x75a4" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" (* "*") (cast_expression "(int *)(puVar26 + 0x1cccdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x1cccdc)" (( "(") (binary_expression "puVar26 + 0x1cccdc" (identifier "puVar26") (+ "+") (number_literal "0x1cccdc")) () ")")))) (+ "+") (number_literal "0x75a4")) (, ",") (identifier "uVar13") (, ",") (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x77a0" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" (* "*") (cast_expression "(int *)(puVar26 + 0x1cccdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x1cccdc)" (( "(") (binary_expression "puVar26 + 0x1cccdc" (identifier "puVar26") (+ "+") (number_literal "0x1cccdc")) () ")")))) (+ "+") (number_literal "0x77a0")) () ")"))) (; ";"))) (labeled_statement "LAB_002f4d20:\n    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);" (statement_identifier "LAB_002f4d20") (: ":") (expression_statement "pcVar27 = *(code **)(puVar26 + 0x1ccdf0);" (assignment_expression "pcVar27 = *(code **)(puVar26 + 0x1ccdf0)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(puVar26 + 0x1ccdf0)" (* "*") (cast_expression "(code **)(puVar26 + 0x1ccdf0)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x1ccdf0)" (( "(") (binary_expression "puVar26 + 0x1ccdf0" (identifier "puVar26") (+ "+") (number_literal "0x1ccdf0")) () ")"))))) (; ";"))) (if_statement "if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;" (if "if") (parenthesized_expression "(*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0)" (( "(") (binary_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0" (pointer_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar26 + 0x1ccd74) + 0xc)" (( "(") (binary_expression "**(int **)(puVar26 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar26 + 0x1ccd74)" (* "*") (pointer_expression "*(int **)(puVar26 + 0x1ccd74)" (* "*") (cast_expression "(int **)(puVar26 + 0x1ccd74)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x1ccd74)" (( "(") (binary_expression "puVar26 + 0x1ccd74" (identifier "puVar26") (+ "+") (number_literal "0x1ccd74")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (break_statement "break;" (break "break") (; ";"))) (expression_statement "bStack_3d = (byte)uVar20;" (assignment_expression "bStack_3d = (byte)uVar20" (identifier "bStack_3d") (= "=") (cast_expression "(byte)uVar20" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "uVar20"))) (; ";")) (expression_statement "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))" (( "(") (pointer_expression "**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" (* "*") (pointer_expression "*(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" (* "*") (cast_expression "(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50)" (( "(") (binary_expression "**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" (* "*") (pointer_expression "*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(puVar26 + 0x1ccd74) + 0xc)" (( "(") (binary_expression "**(int **)(puVar26 + 0x1ccd74) + 0xc" (pointer_expression "**(int **)(puVar26 + 0x1ccd74)" (* "*") (pointer_expression "*(int **)(puVar26 + 0x1ccd74)" (* "*") (cast_expression "(int **)(puVar26 + 0x1ccd74)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(puVar26 + 0x1ccd74)" (( "(") (binary_expression "puVar26 + 0x1ccd74" (identifier "puVar26") (+ "+") (number_literal "0x1ccd74")) () ")"))))) (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "unaff_s1 = unaff_s1 + extraout_v1;" (assignment_expression "unaff_s1 = unaff_s1 + extraout_v1" (identifier "unaff_s1") (= "=") (binary_expression "unaff_s1 + extraout_v1" (identifier "unaff_s1") (+ "+") (identifier "extraout_v1"))) (; ";")) (} "}"))) (expression_statement "iVar8 = 0x69;" (assignment_expression "iVar8 = 0x69" (identifier "iVar8") (= "=") (number_literal "0x69")) (; ";")) (expression_statement "puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4);" (assignment_expression "puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x1cccdc) + 0x77c4)" (( "(") (binary_expression "*(int *)(puVar26 + 0x1cccdc) + 0x77c4" (pointer_expression "*(int *)(puVar26 + 0x1cccdc)" (* "*") (cast_expression "(int *)(puVar26 + 0x1cccdc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x1cccdc)" (( "(") (binary_expression "puVar26 + 0x1cccdc" (identifier "puVar26") (+ "+") (number_literal "0x1cccdc")) () ")")))) (+ "+") (number_literal "0x77c4")) () ")")))) (; ";")) (expression_statement "pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8);" (assignment_expression "pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" (identifier "pEVar9") (= "=") (cast_expression "(Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" (( "(") (type_descriptor "Eh_frame_hdr *" (type_identifier "Eh_frame_hdr") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(puVar26 + 0x1cc63c) + -0x9b8)" (( "(") (binary_expression "*(int *)(puVar26 + 0x1cc63c) + -0x9b8" (pointer_expression "*(int *)(puVar26 + 0x1cc63c)" (* "*") (cast_expression "(int *)(puVar26 + 0x1cc63c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar26 + 0x1cc63c)" (( "(") (binary_expression "puVar26 + 0x1cc63c" (identifier "puVar26") (+ "+") (number_literal "0x1cc63c")) () ")")))) (+ "+") (number_literal "-0x9b8")) () ")")))) (; ";")) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar6 = *(int *)(pEVar9 + 0x30);" (assignment_expression "iVar6 = *(int *)(pEVar9 + 0x30)" (identifier "iVar6") (= "=") (pointer_expression "*(int *)(pEVar9 + 0x30)" (* "*") (cast_expression "(int *)(pEVar9 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pEVar9 + 0x30)" (( "(") (binary_expression "pEVar9 + 0x30" (identifier "pEVar9") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (expression_statement "iVar2 = *(int *)(iVar6 + 0x20);" (assignment_expression "iVar2 = *(int *)(iVar6 + 0x20)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar6 + 0x20)" (* "*") (cast_expression "(int *)(iVar6 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x20)" (( "(") (binary_expression "iVar6 + 0x20" (identifier "iVar6") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uStack_a0 = uVar20;" (assignment_expression "uStack_a0 = uVar20" (identifier "uStack_a0") (= "=") (identifier "uVar20")) (; ";")) (expression_statement "pFStack_9c = unaff_s1;" (assignment_expression "pFStack_9c = unaff_s1" (identifier "pFStack_9c") (= "=") (identifier "unaff_s1")) (; ";")) (if_statement "if (iVar2 < 0) {\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }" (if "if") (parenthesized_expression "(iVar2 < 0)" (( "(") (binary_expression "iVar2 < 0" (identifier "iVar2") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n    iVar22 = *(int *)(iVar6 + 0xc);\n    if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }\n    (**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);\n  }" ({ "{") (expression_statement "iVar22 = *(int *)(iVar6 + 0xc);" (assignment_expression "iVar22 = *(int *)(iVar6 + 0xc)" (identifier "iVar22") (= "=") (pointer_expression "*(int *)(iVar6 + 0xc)" (* "*") (cast_expression "(int *)(iVar6 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0xc)" (( "(") (binary_expression "iVar6 + 0xc" (identifier "iVar6") (+ "+") (number_literal "0xc")) () ")"))))) (; ";")) (if_statement "if (iVar2 << 2 < 0) {\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }" (if "if") (parenthesized_expression "(iVar2 << 2 < 0)" (( "(") (binary_expression "iVar2 << 2 < 0" (binary_expression "iVar2 << 2" (identifier "iVar2") (<< "<<") (number_literal "2")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      iVar10 = *(int *)(iVar6 + 0x1c);\n      if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }\n      (**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);\n    }" ({ "{") (expression_statement "iVar10 = *(int *)(iVar6 + 0x1c);" (assignment_expression "iVar10 = *(int *)(iVar6 + 0x1c)" (identifier "iVar10") (= "=") (pointer_expression "*(int *)(iVar6 + 0x1c)" (* "*") (cast_expression "(int *)(iVar6 + 0x1c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x1c)" (( "(") (binary_expression "iVar6 + 0x1c" (identifier "iVar6") (+ "+") (number_literal "0x1c")) () ")"))))) (; ";")) (if_statement "if (iVar2 << 1 < 0) {\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" (if "if") (parenthesized_expression "(iVar2 << 1 < 0)" (( "(") (binary_expression "iVar2 << 1 < 0" (binary_expression "iVar2 << 1" (identifier "iVar2") (<< "<<") (number_literal "1")) (< "<") (number_literal "0")) () ")")) (compound_statement "{\n        if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }\n        FUN_002f2158();\n      }" ({ "{") (if_statement "if (-1 < *(int *)(iVar6 + 0x18)) {\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }" (if "if") (parenthesized_expression "(-1 < *(int *)(iVar6 + 0x18))" (( "(") (binary_expression "-1 < *(int *)(iVar6 + 0x18)" (number_literal "-1") (< "<") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")"))))) () ")")) (compound_statement "{\n          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;\n          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);\n          if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }\n        }" ({ "{") (expression_statement "uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;" (assignment_expression "uVar7 = *(uint *)(iVar6 + 0x14) + iVar10" (identifier "uVar7") (= "=") (binary_expression "*(uint *)(iVar6 + 0x14) + iVar10" (pointer_expression "*(uint *)(iVar6 + 0x14)" (* "*") (cast_expression "(uint *)(iVar6 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")")))) (+ "+") (identifier "iVar10"))) (; ";")) (expression_statement "iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);" (assignment_expression "iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (identifier "iVar2") (= "=") (binary_expression "(uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18)" (call_expression "(uint)(uVar7 < *(uint *)(iVar6 + 0x14))" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(uVar7 < *(uint *)(iVar6 + 0x14))" (( "(") (binary_expression "uVar7 < *(uint *)(iVar6 + 0x14)" (identifier "uVar7") (< "<") (pointer_expression "*(uint *)(iVar6 + 0x14)" (* "*") (cast_expression "(uint *)(iVar6 + 0x14)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x14)" (( "(") (binary_expression "iVar6 + 0x14" (identifier "iVar6") (+ "+") (number_literal "0x14")) () ")"))))) () ")"))) (+ "+") (pointer_expression "*(int *)(iVar6 + 0x18)" (* "*") (cast_expression "(int *)(iVar6 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar6 + 0x18)" (( "(") (binary_expression "iVar6 + 0x18" (identifier "iVar6") (+ "+") (number_literal "0x18")) () ")")))))) (; ";")) (if_statement "if ((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }" (if "if") (parenthesized_expression "((iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc)))))" (( "(") (binary_expression "(iVar2 <= *(int *)(iVar8 + 8)) &&\n             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (parenthesized_expression "(iVar2 <= *(int *)(iVar8 + 8))" (( "(") (binary_expression "iVar2 <= *(int *)(iVar8 + 8)" (identifier "iVar2") (<= "<=") (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")"))))) () ")")) (&& "&&") (parenthesized_expression "((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))" (( "(") (parenthesized_expression "(*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc)))" (( "(") (binary_expression "*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))" (binary_expression "*(int *)(iVar8 + 8) != iVar2" (pointer_expression "*(int *)(iVar8 + 8)" (* "*") (cast_expression "(int *)(iVar8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 8)" (( "(") (binary_expression "iVar8 + 8" (identifier "iVar8") (+ "+") (number_literal "8")) () ")")))) (!= "!=") (identifier "iVar2")) (|| "||") (parenthesized_expression "(uVar7 <= *(uint *)(iVar8 + 0xc))" (( "(") (binary_expression "uVar7 <= *(uint *)(iVar8 + 0xc)" (identifier "uVar7") (<= "<=") (pointer_expression "*(uint *)(iVar8 + 0xc)" (* "*") (cast_expression "(uint *)(iVar8 + 0xc)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0xc)" (( "(") (binary_expression "iVar8 + 0xc" (identifier "iVar8") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n            iVar2 = *(int *)(iVar8 + 0x10);\n            if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }\n            return;\n          }" ({ "{") (expression_statement "iVar2 = *(int *)(iVar8 + 0x10);" (assignment_expression "iVar2 = *(int *)(iVar8 + 0x10)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(iVar8 + 0x10)" (* "*") (cast_expression "(int *)(iVar8 + 0x10)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar8 + 0x10)" (( "(") (binary_expression "iVar8 + 0x10" (identifier "iVar8") (+ "+") (number_literal "0x10")) () ")"))))) (; ";")) (if_statement "if ((int *)*puVar15 != (int *)puVar15[1]) {\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }" (if "if") (parenthesized_expression "((int *)*puVar15 != (int *)puVar15[1])" (( "(") (binary_expression "(int *)*puVar15 != (int *)puVar15[1]" (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (!= "!=") (cast_expression "(int *)puVar15[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]")))) () ")")) (compound_statement "{\n              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);\n              piVar11 = (int *)*puVar15;\n              do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);\n            }" ({ "{") (expression_statement "pcVar27 = *(code **)(pcVar27 + 0x1ced0c);" (assignment_expression "pcVar27 = *(code **)(pcVar27 + 0x1ced0c)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(pcVar27 + 0x1ced0c)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1ced0c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1ced0c)" (( "(") (binary_expression "pcVar27 + 0x1ced0c" (identifier "pcVar27") (+ "+") (number_literal "0x1ced0c")) () ")"))))) (; ";")) (expression_statement "piVar11 = (int *)*puVar15;" (assignment_expression "piVar11 = (int *)*puVar15" (identifier "piVar11") (= "=") (cast_expression "(int *)*puVar15" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*puVar15" (* "*") (identifier "puVar15")))) (; ";")) (do_statement "do {\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              } while ((int *)puVar15[1] != piVar19);" (do "do") (compound_statement "{\n                piVar19 = piVar11 + 2;\n                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));\n                iStack_a4 = iVar22 + *piVar11;\n                (*pcVar27)(pFVar17,&uStack_a8);\n                piVar11 = piVar19;\n              }" ({ "{") (expression_statement "piVar19 = piVar11 + 2;" (assignment_expression "piVar19 = piVar11 + 2" (identifier "piVar19") (= "=") (binary_expression "piVar11 + 2" (identifier "piVar11") (+ "+") (number_literal "2"))) (; ";")) (expression_statement "uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1));" (comma_expression "uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" (assignment_expression "uStack_a8 = get_fde_pc<32" (identifier "uStack_a8") (= "=") (binary_expression "get_fde_pc<32" (identifier "get_fde_pc") (< "<") (number_literal "32"))) (, ",") (binary_expression "true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" (true "true") (> ">") (parenthesized_expression "(pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1))" (( "(") (comma_expression "pEVar9,iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (identifier "pEVar9") (, ",") (comma_expression "iVar22,iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (identifier "iVar22") (, ",") (comma_expression "iVar2 + iVar10,*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (binary_expression "iVar2 + iVar10" (identifier "iVar2") (+ "+") (identifier "iVar10")) (, ",") (comma_expression "*piVar11,\n                                                *(undefined1 *)(piVar11 + 1)" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (, ",") (pointer_expression "*(undefined1 *)(piVar11 + 1)" (* "*") (cast_expression "(undefined1 *)(piVar11 + 1)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar11 + 1)" (( "(") (binary_expression "piVar11 + 1" (identifier "piVar11") (+ "+") (number_literal "1")) () ")")))))))) () ")")))) (; ";")) (expression_statement "iStack_a4 = iVar22 + *piVar11;" (assignment_expression "iStack_a4 = iVar22 + *piVar11" (identifier "iStack_a4") (= "=") (binary_expression "iVar22 + *piVar11" (identifier "iVar22") (+ "+") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (expression_statement "(*pcVar27)(pFVar17,&uStack_a8);" (call_expression "(*pcVar27)(pFVar17,&uStack_a8)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(pFVar17,&uStack_a8)" (( "(") (identifier "pFVar17") (, ",") (pointer_expression "&uStack_a8" (& "&") (identifier "uStack_a8")) () ")"))) (; ";")) (expression_statement "piVar11 = piVar19;" (assignment_expression "piVar11 = piVar19" (identifier "piVar11") (= "=") (identifier "piVar19")) (; ";")) (} "}")) (while "while") (parenthesized_expression "((int *)puVar15[1] != piVar19)" (( "(") (binary_expression "(int *)puVar15[1] != piVar19" (cast_expression "(int *)puVar15[1]" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "puVar15[1]" (identifier "puVar15") ([ "[") (number_literal "1") (] "]"))) (!= "!=") (identifier "piVar19")) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (expression_statement "FUN_002f2158();" (call_expression "FUN_002f2158()" (identifier "FUN_002f2158") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);" (call_expression "(**(code **)(pcVar27 + 0x1cccb8))\n                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cccb8))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x1cccb8)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1cccb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cccb8)" (( "(") (binary_expression "pcVar27 + 0x1cccb8" (identifier "pcVar27") (+ "+") (number_literal "0x1cccb8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8)" (( "(") (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1cc504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc504)" (( "(") (binary_expression "pcVar27 + 0x1cc504" (identifier "pcVar27") (+ "+") (number_literal "0x1cc504")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xcf") (, ",") (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77e8" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1ccba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1ccba4)" (( "(") (binary_expression "pcVar27 + 0x1ccba4" (identifier "pcVar27") (+ "+") (number_literal "0x1ccba4")) () ")")))) (+ "+") (number_literal "0x77e8")) () ")"))) (; ";")) (} "}"))) (expression_statement "(**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);" (call_expression "(**(code **)(pcVar27 + 0x1cccb8))\n              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cccb8))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x1cccb8)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1cccb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cccb8)" (( "(") (binary_expression "pcVar27 + 0x1cccb8" (identifier "pcVar27") (+ "+") (number_literal "0x1cccb8")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4)" (( "(") (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1cc504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc504)" (( "(") (binary_expression "pcVar27 + 0x1cc504" (identifier "pcVar27") (+ "+") (number_literal "0x1cc504")) () ")")))) (+ "+") (number_literal "0x3574")) (, ",") (number_literal "0xe3") (, ",") (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77f4" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1ccba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1ccba4)" (( "(") (binary_expression "pcVar27 + 0x1ccba4" (identifier "pcVar27") (+ "+") (number_literal "0x1ccba4")) () ")")))) (+ "+") (number_literal "0x77f4")) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar7 = 0xc5;" (assignment_expression "uVar7 = 0xc5" (identifier "uVar7") (= "=") (number_literal "0xc5")) (; ";")) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1cccb8);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1cccb8)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcVar27 + 0x1cccb8)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1cccb8)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cccb8)" (( "(") (binary_expression "pcVar27 + 0x1cccb8" (identifier "pcVar27") (+ "+") (number_literal "0x1cccb8")) () ")"))))) (; ";")) (expression_statement "piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar27 + 0x1cc504) + 0x3574)" (( "(") (binary_expression "*(int *)(pcVar27 + 0x1cc504) + 0x3574" (pointer_expression "*(int *)(pcVar27 + 0x1cc504)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1cc504)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc504)" (( "(") (binary_expression "pcVar27 + 0x1cc504" (identifier "pcVar27") (+ "+") (number_literal "0x1cc504")) () ")")))) (+ "+") (number_literal "0x3574")) () ")")))) (; ";")) (expression_statement "(*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc);" (call_expression "(*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc)" (( "(") (identifier "piVar11") (, ",") (number_literal "0xc5") (, ",") (binary_expression "*(int *)(pcVar27 + 0x1ccba4) + 0x77bc" (pointer_expression "*(int *)(pcVar27 + 0x1ccba4)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1ccba4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1ccba4)" (( "(") (binary_expression "pcVar27 + 0x1ccba4" (identifier "pcVar27") (+ "+") (number_literal "0x1ccba4")) () ")")))) (+ "+") (number_literal "0x77bc")) () ")"))) (; ";")) (if_statement "if (uVar7 < 0x10000000) {\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }" (if "if") (parenthesized_expression "(uVar7 < 0x10000000)" (( "(") (binary_expression "uVar7 < 0x10000000" (identifier "uVar7") (< "<") (number_literal "0x10000000")) () ")")) (compound_statement "{\n    puVar15 = (undefined4 *)*piVar11;\n    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }\n    puVar25 = (undefined4 *)piVar11[1];\n    puVar1 = puVar15;\n    if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }\n    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }\n    if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }\n    *piVar11 = (int)puVar23;\n    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);\n    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);\n    return;\n  }" ({ "{") (expression_statement "puVar15 = (undefined4 *)*piVar11;" (assignment_expression "puVar15 = (undefined4 *)*piVar11" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)*piVar11" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (if_statement "if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {\n      return;\n    }" (if "if") (parenthesized_expression "(uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4))" (( "(") (binary_expression "uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)" (identifier "uVar7") (<= "<=") (call_expression "(uint)(piVar11[2] - (int)puVar15 >> 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(piVar11[2] - (int)puVar15 >> 4)" (( "(") (binary_expression "piVar11[2] - (int)puVar15 >> 4" (binary_expression "piVar11[2] - (int)puVar15" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (- "-") (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15"))) (>> ">>") (number_literal "4")) () ")")))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "puVar25 = (undefined4 *)piVar11[1];" (assignment_expression "puVar25 = (undefined4 *)piVar11[1]" (identifier "puVar25") (= "=") (cast_expression "(undefined4 *)piVar11[1]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")))) (; ";")) (expression_statement "puVar1 = puVar15;" (assignment_expression "puVar1 = puVar15" (identifier "puVar1") (= "=") (identifier "puVar15")) (; ";")) (if_statement "if (uVar7 == 0) {\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }\n    else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      puVar3 = (undefined4 *)0x0;\n      puVar23 = puVar3;\n      puVar12 = puVar15;\n    }" ({ "{") (expression_statement "puVar3 = (undefined4 *)0x0;" (assignment_expression "puVar3 = (undefined4 *)0x0" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (expression_statement "puVar23 = puVar3;" (assignment_expression "puVar23 = puVar3" (identifier "puVar23") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar12 = puVar15;" (assignment_expression "puVar12 = puVar15" (identifier "puVar12") (= "=") (identifier "puVar15")) (; ";")) (} "}")) (else_clause "else {\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" (else "else") (compound_statement "{\n      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);\n      puVar23 = puVar3;\n      puVar12 = (undefined4 *)*piVar11;\n    }" ({ "{") (expression_statement "puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);" (assignment_expression "puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc480))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1cc480)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1cc480)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1cc480)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc480)" (( "(") (binary_expression "pcVar28 + 0x1cc480" (identifier "pcVar28") (+ "+") (number_literal "0x1cc480")) () ")"))))) () ")")) (argument_list "(uVar7 * 0x10)" (( "(") (binary_expression "uVar7 * 0x10" (identifier "uVar7") (* "*") (number_literal "0x10")) () ")"))))) (; ";")) (expression_statement "puVar23 = puVar3;" (assignment_expression "puVar23 = puVar3" (identifier "puVar23") (= "=") (identifier "puVar3")) (; ";")) (expression_statement "puVar12 = (undefined4 *)*piVar11;" (assignment_expression "puVar12 = (undefined4 *)*piVar11" (identifier "puVar12") (= "=") (cast_expression "(undefined4 *)*piVar11" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (pointer_expression "*piVar11" (* "*") (identifier "piVar11")))) (; ";")) (} "}")))) (for_statement "for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }" (for "for") (( "(") (; ";") (binary_expression "puVar1 != puVar25" (identifier "puVar1") (!= "!=") (identifier "puVar25")) (; ";") (assignment_expression "puVar1 = puVar1 + 4" (identifier "puVar1") (= "=") (binary_expression "puVar1 + 4" (identifier "puVar1") (+ "+") (number_literal "4"))) () ")") (compound_statement "{\n      uVar18 = puVar1[1];\n      uVar16 = puVar1[2];\n      uVar13 = puVar1[3];\n      *puVar3 = *puVar1;\n      puVar3[1] = uVar18;\n      puVar3[2] = uVar16;\n      puVar3[3] = uVar13;\n      puVar3 = puVar3 + 4;\n    }" ({ "{") (expression_statement "uVar18 = puVar1[1];" (assignment_expression "uVar18 = puVar1[1]" (identifier "uVar18") (= "=") (subscript_expression "puVar1[1]" (identifier "puVar1") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "uVar16 = puVar1[2];" (assignment_expression "uVar16 = puVar1[2]" (identifier "uVar16") (= "=") (subscript_expression "puVar1[2]" (identifier "puVar1") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "uVar13 = puVar1[3];" (assignment_expression "uVar13 = puVar1[3]" (identifier "uVar13") (= "=") (subscript_expression "puVar1[3]" (identifier "puVar1") ([ "[") (number_literal "3") (] "]"))) (; ";")) (expression_statement "*puVar3 = *puVar1;" (assignment_expression "*puVar3 = *puVar1" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (pointer_expression "*puVar1" (* "*") (identifier "puVar1"))) (; ";")) (expression_statement "puVar3[1] = uVar18;" (assignment_expression "puVar3[1] = uVar18" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "uVar18")) (; ";")) (expression_statement "puVar3[2] = uVar16;" (assignment_expression "puVar3[2] = uVar16" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "uVar16")) (; ";")) (expression_statement "puVar3[3] = uVar13;" (assignment_expression "puVar3[3] = uVar13" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "puVar3 = puVar3 + 4;" (assignment_expression "puVar3 = puVar3 + 4" (identifier "puVar3") (= "=") (binary_expression "puVar3 + 4" (identifier "puVar3") (+ "+") (number_literal "4"))) (; ";")) (} "}"))) (if_statement "if (puVar12 != (undefined4 *)0x0) {\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }" (if "if") (parenthesized_expression "(puVar12 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar12 != (undefined4 *)0x0" (identifier "puVar12") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      (**(code **)(pcVar28 + 0x1cc3d4))();\n    }" ({ "{") (expression_statement "(**(code **)(pcVar28 + 0x1cc3d4))();" (call_expression "(**(code **)(pcVar28 + 0x1cc3d4))()" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc3d4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1cc3d4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1cc3d4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1cc3d4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc3d4)" (( "(") (binary_expression "pcVar28 + 0x1cc3d4" (identifier "pcVar28") (+ "+") (number_literal "0x1cc3d4")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "*piVar11 = (int)puVar23;" (assignment_expression "*piVar11 = (int)puVar23" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23"))) (; ";")) (expression_statement "piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);" (assignment_expression "piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15)" (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (binary_expression "(int)puVar25 + ((int)puVar23 - (int)puVar15)" (cast_expression "(int)puVar25" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar25")) (+ "+") (parenthesized_expression "((int)puVar23 - (int)puVar15)" (( "(") (binary_expression "(int)puVar23 - (int)puVar15" (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23")) (- "-") (cast_expression "(int)puVar15" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar15"))) () ")")))) (; ";")) (expression_statement "piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);" (assignment_expression "piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10)" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (cast_expression "(int)((int)puVar23 + uVar7 * 0x10)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((int)puVar23 + uVar7 * 0x10)" (( "(") (binary_expression "(int)puVar23 + uVar7 * 0x10" (cast_expression "(int)puVar23" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar23")) (+ "+") (binary_expression "uVar7 * 0x10" (identifier "uVar7") (* "*") (number_literal "0x10"))) () ")")))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar27 = *(code **)(pcVar28 + 0x1ccf4c);" (assignment_expression "pcVar27 = *(code **)(pcVar28 + 0x1ccf4c)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1ccf4c)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1ccf4c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1ccf4c)" (( "(") (binary_expression "pcVar28 + 0x1ccf4c" (identifier "pcVar28") (+ "+") (number_literal "0x1ccf4c")) () ")"))))) (; ";")) (expression_statement "(*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4);" (call_expression "(*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4)" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1ccb28) + -0xda4)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1ccb28) + -0xda4" (pointer_expression "*(int *)(pcVar28 + 0x1ccb28)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1ccb28)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1ccb28)" (( "(") (binary_expression "pcVar28 + 0x1ccb28" (identifier "pcVar28") (+ "+") (number_literal "0x1ccb28")) () ")")))) (+ "+") (number_literal "-0xda4")) () ")"))) (; ";")) (expression_statement "bVar5 = bStackY_e5 & 7;" (assignment_expression "bVar5 = bStackY_e5 & 7" (identifier "bVar5") (= "=") (binary_expression "bStackY_e5 & 7" (identifier "bStackY_e5") (& "&") (number_literal "7"))) (; ";")) (if_statement "if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }" (if "if") (parenthesized_expression "(((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2))" (( "(") (binary_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)" (parenthesized_expression "((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4))" (( "(") (binary_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)" (parenthesized_expression "(((bStackY_e5 & 7) != 0) && (bVar5 != 3))" (( "(") (binary_expression "((bStackY_e5 & 7) != 0) && (bVar5 != 3)" (parenthesized_expression "((bStackY_e5 & 7) != 0)" (( "(") (binary_expression "(bStackY_e5 & 7) != 0" (parenthesized_expression "(bStackY_e5 & 7)" (( "(") (binary_expression "bStackY_e5 & 7" (identifier "bStackY_e5") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(bVar5 != 3)" (( "(") (binary_expression "bVar5 != 3" (identifier "bVar5") (!= "!=") (number_literal "3")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(bVar5 != 4)" (( "(") (binary_expression "bVar5 != 4" (identifier "bVar5") (!= "!=") (number_literal "4")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(bVar5 != 2)" (( "(") (binary_expression "bVar5 != 2" (identifier "bVar5") (!= "!=") (number_literal "2")) () ")"))) () ")")) (compound_statement "{\n    uVar13 = 0x10a;\n    goto LAB_002f50d0;\n  }" ({ "{") (expression_statement "uVar13 = 0x10a;" (assignment_expression "uVar13 = 0x10a" (identifier "uVar13") (= "=") (number_literal "0x10a")) (; ";")) (goto_statement "goto LAB_002f50d0;" (goto "goto") (statement_identifier "LAB_002f50d0") (; ";")) (} "}"))) (do_statement "do {\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  } while( true );" (do "do") (compound_statement "{\n    if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }\nLAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);\n  }" ({ "{") (if_statement "if ((bStackY_e5 & 0x70) == 0x10) {\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }\n    else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" (if "if") (parenthesized_expression "((bStackY_e5 & 0x70) == 0x10)" (( "(") (binary_expression "(bStackY_e5 & 0x70) == 0x10" (parenthesized_expression "(bStackY_e5 & 0x70)" (( "(") (binary_expression "bStackY_e5 & 0x70" (identifier "bStackY_e5") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\nLAB_002f516c:\n      uVar13 = 0x120;\n      if (-1 < (char)bStackY_e5) {\n        return;\n      }\n    }" ({ "{") (labeled_statement "LAB_002f516c:\n      uVar13 = 0x120;" (statement_identifier "LAB_002f516c") (: ":") (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" (identifier "uVar13") (= "=") (number_literal "0x120")) (; ";"))) (if_statement "if (-1 < (char)bStackY_e5) {\n        return;\n      }" (if "if") (parenthesized_expression "(-1 < (char)bStackY_e5)" (( "(") (binary_expression "-1 < (char)bStackY_e5" (number_literal "-1") (< "<") (cast_expression "(char)bStackY_e5" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "bStackY_e5"))) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" (else "else") (compound_statement "{\n      if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }\n      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;\n      uVar13 = 0x11d;\n    }" ({ "{") (if_statement "if ((bStackY_e5 & 0x70) == 0x30) {\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" (if "if") (parenthesized_expression "((bStackY_e5 & 0x70) == 0x30)" (( "(") (binary_expression "(bStackY_e5 & 0x70) == 0x30" (parenthesized_expression "(bStackY_e5 & 0x70)" (( "(") (binary_expression "bStackY_e5 & 0x70" (identifier "bStackY_e5") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }\n        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);\n        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;\n        uVar24 = uVar20 & 0xff;\n        uVar7 = uVar20 & 7;\n        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;\n        break;\n      }" ({ "{") (if_statement "if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" (if "if") (parenthesized_expression "(*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0)" (( "(") (binary_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar27 + 0x1cc948) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar27 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar27 + 0x1cc948)" (* "*") (pointer_expression "*(int **)(pcVar27 + 0x1cc948)" (* "*") (cast_expression "(int **)(pcVar27 + 0x1cc948)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc948)" (( "(") (binary_expression "pcVar27 + 0x1cc948" (identifier "pcVar27") (+ "+") (number_literal "0x1cc948")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();\n          goto LAB_002f516c;\n        }" ({ "{") (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))" (( "(") (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" (* "*") (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" (* "*") (cast_expression "(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50)" (( "(") (binary_expression "**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" (* "*") (pointer_expression "*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar27 + 0x1cc948) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar27 + 0x1cc948) + 0xc" (pointer_expression "**(int **)(pcVar27 + 0x1cc948)" (* "*") (pointer_expression "*(int **)(pcVar27 + 0x1cc948)" (* "*") (cast_expression "(int **)(pcVar27 + 0x1cc948)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc948)" (( "(") (binary_expression "pcVar27 + 0x1cc948" (identifier "pcVar27") (+ "+") (number_literal "0x1cc948")) () ")"))))) (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002f516c;" (goto "goto") (statement_identifier "LAB_002f516c") (; ";")) (} "}"))) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1cc9c4)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcVar27 + 0x1cc9c4)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1cc9c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc9c4)" (( "(") (binary_expression "pcVar27 + 0x1cc9c4" (identifier "pcVar27") (+ "+") (number_literal "0x1cc9c4")) () ")"))))) (; ";")) (expression_statement "(*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)\n        ;" (call_expression "(*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)" (( "(") (binary_expression "*(int *)(pcVar27 + 0x1cc210) + -0x9b8" (pointer_expression "*(int *)(pcVar27 + 0x1cc210)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1cc210)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc210)" (( "(") (binary_expression "pcVar27 + 0x1cc210" (identifier "pcVar27") (+ "+") (number_literal "0x1cc210")) () ")")))) (+ "+") (number_literal "-0x9b8")) (, ",") (number_literal "0x69") (, ",") (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc8b0)" (( "(") (binary_expression "pcVar27 + 0x1cc8b0" (identifier "pcVar27") (+ "+") (number_literal "0x1cc8b0")) () ")")))) (+ "+") (number_literal "0x77c4")) () ")"))) (; ";")) (expression_statement "uVar24 = uVar20 & 0xff;" (assignment_expression "uVar24 = uVar20 & 0xff" (identifier "uVar24") (= "=") (binary_expression "uVar20 & 0xff" (identifier "uVar20") (& "&") (number_literal "0xff"))) (; ";")) (expression_statement "uVar7 = uVar20 & 7;" (assignment_expression "uVar7 = uVar20 & 7" (identifier "uVar7") (= "=") (binary_expression "uVar20 & 7" (identifier "uVar20") (& "&") (number_literal "7"))) (; ";")) (if_statement "if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))\n        goto LAB_002f529c;" (if "if") (parenthesized_expression "((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))" (( "(") (binary_expression "(((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)))" (parenthesized_expression "(((uVar20 & 7) != 0) && (uVar7 != 3))" (( "(") (binary_expression "((uVar20 & 7) != 0) && (uVar7 != 3)" (parenthesized_expression "((uVar20 & 7) != 0)" (( "(") (binary_expression "(uVar20 & 7) != 0" (parenthesized_expression "(uVar20 & 7)" (( "(") (binary_expression "uVar20 & 7" (identifier "uVar20") (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(uVar7 != 3)" (( "(") (binary_expression "uVar7 != 3" (identifier "uVar7") (!= "!=") (number_literal "3")) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)))" (( "(") (parenthesized_expression "(uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))" (( "(") (binary_expression "uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2)" (binary_expression "uVar7 != 4" (identifier "uVar7") (!= "!=") (number_literal "4")) (&& "&&") (parenthesized_expression "(uVar13 = 0x10a, uVar7 != 2)" (( "(") (comma_expression "uVar13 = 0x10a, uVar7 != 2" (assignment_expression "uVar13 = 0x10a" (identifier "uVar13") (= "=") (number_literal "0x10a")) (, ",") (binary_expression "uVar7 != 2" (identifier "uVar7") (!= "!=") (number_literal "2"))) () ")"))) () ")")) () ")"))) () ")")) (goto_statement "goto LAB_002f529c;" (goto "goto") (statement_identifier "LAB_002f529c") (; ";"))) (break_statement "break;" (break "break") (; ";")) (} "}"))) (if_statement "if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;" (if "if") (parenthesized_expression "((bStackY_e5 & 0x70) == 0)" (( "(") (binary_expression "(bStackY_e5 & 0x70) == 0" (parenthesized_expression "(bStackY_e5 & 0x70)" (( "(") (binary_expression "bStackY_e5 & 0x70" (identifier "bStackY_e5") (& "&") (number_literal "0x70")) () ")")) (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002f516c;" (goto "goto") (statement_identifier "LAB_002f516c") (; ";"))) (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" (identifier "uVar13") (= "=") (number_literal "0x11d")) (; ";")) (} "}")))) (labeled_statement "LAB_002f50d0:\n    (**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);" (statement_identifier "LAB_002f50d0") (: ":") (expression_statement "(**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);" (call_expression "(**(code **)(pcVar27 + 0x1cc9c4))\n              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cc9c4))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x1cc9c4)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x1cc9c4)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1cc9c4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc9c4)" (( "(") (binary_expression "pcVar27 + 0x1cc9c4" (identifier "pcVar27") (+ "+") (number_literal "0x1cc9c4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784)" (( "(") (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc8b0)" (( "(") (binary_expression "pcVar27 + 0x1cc8b0" (identifier "pcVar27") (+ "+") (number_literal "0x1cc8b0")) () ")")))) (+ "+") (number_literal "0x75a4")) (, ",") (identifier "uVar13") (, ",") (binary_expression "*(int *)(pcVar27 + 0x1cc8b0) + 0x7784" (pointer_expression "*(int *)(pcVar27 + 0x1cc8b0)" (* "*") (cast_expression "(int *)(pcVar27 + 0x1cc8b0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar27 + 0x1cc8b0)" (( "(") (binary_expression "pcVar27 + 0x1cc8b0" (identifier "pcVar27") (+ "+") (number_literal "0x1cc8b0")) () ")")))) (+ "+") (number_literal "0x7784")) () ")"))) (; ";"))) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (labeled_statement "LAB_002f52c4:\n  uVar7 = uVar24 & 0x70;" (statement_identifier "LAB_002f52c4") (: ":") (expression_statement "uVar7 = uVar24 & 0x70;" (assignment_expression "uVar7 = uVar24 & 0x70" (identifier "uVar7") (= "=") (binary_expression "uVar24 & 0x70" (identifier "uVar24") (& "&") (number_literal "0x70"))) (; ";"))) (if_statement "if (uVar7 == 0x10) {\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }\n  else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" (if "if") (parenthesized_expression "(uVar7 == 0x10)" (( "(") (binary_expression "uVar7 == 0x10" (identifier "uVar7") (== "==") (number_literal "0x10")) () ")")) (compound_statement "{\nLAB_002f532c:\n    uVar24 = (uint)(char)uVar24;\n    uVar13 = 0x120;\n    if (-1 < (int)uVar24) {\n      return;\n    }\n  }" ({ "{") (labeled_statement "LAB_002f532c:\n    uVar24 = (uint)(char)uVar24;" (statement_identifier "LAB_002f532c") (: ":") (expression_statement "uVar24 = (uint)(char)uVar24;" (assignment_expression "uVar24 = (uint)(char)uVar24" (identifier "uVar24") (= "=") (cast_expression "(uint)(char)uVar24" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (cast_expression "(char)uVar24" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (identifier "uVar24")))) (; ";"))) (expression_statement "uVar13 = 0x120;" (assignment_expression "uVar13 = 0x120" (identifier "uVar13") (= "=") (number_literal "0x120")) (; ";")) (if_statement "if (-1 < (int)uVar24) {\n      return;\n    }" (if "if") (parenthesized_expression "(-1 < (int)uVar24)" (( "(") (binary_expression "-1 < (int)uVar24" (number_literal "-1") (< "<") (cast_expression "(int)uVar24" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar24"))) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" (else "else") (compound_statement "{\n    if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }\n    if (uVar7 == 0) goto LAB_002f532c;\n    uVar13 = 0x11d;\n  }" ({ "{") (if_statement "if (uVar7 == 0x30) {\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }" (if "if") (parenthesized_expression "(uVar7 == 0x30)" (( "(") (binary_expression "uVar7 == 0x30" (identifier "uVar7") (== "==") (number_literal "0x30")) () ")")) (compound_statement "{\n      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }\n      iVar2 = 0x69;\n      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);\n      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);\n      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);\n      (*pcVar27)();\n      iVar8 = piVar11[1];\n      iVar6 = *piVar11;\n      iVar22 = iVar2 - iVar6;\n      uVar7 = iVar8 - iVar6 >> 2;\n      if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }\n      iVar21 = iVar4 + iVar22 + 4;\n      *(undefined4 *)(iVar4 + iVar22) = *puVar15;\n      iVar29 = iVar21 + (iVar8 - iVar2);\n      if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }\n      if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }\nLAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);\n      *piVar11 = iVar4;\n      piVar11[1] = iVar29;\n      piVar11[2] = iVar10;\n      return;\n    }" ({ "{") (if_statement "if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" (if "if") (parenthesized_expression "(*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0)" (( "(") (binary_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0" (pointer_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar28 + 0x1cc778) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar28 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar28 + 0x1cc778)" (* "*") (pointer_expression "*(int **)(pcVar28 + 0x1cc778)" (* "*") (cast_expression "(int **)(pcVar28 + 0x1cc778)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc778)" (( "(") (binary_expression "pcVar28 + 0x1cc778" (identifier "pcVar28") (+ "+") (number_literal "0x1cc778")) () ")"))))) (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();\n        goto LAB_002f532c;\n      }" ({ "{") (expression_statement "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();" (call_expression "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))()" (parenthesized_expression "(**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))" (( "(") (pointer_expression "**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" (* "*") (pointer_expression "*(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" (* "*") (cast_expression "(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50)" (( "(") (binary_expression "**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50" (pointer_expression "**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" (* "*") (pointer_expression "*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" (* "*") (cast_expression "(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(**(int **)(pcVar28 + 0x1cc778) + 0xc)" (( "(") (binary_expression "**(int **)(pcVar28 + 0x1cc778) + 0xc" (pointer_expression "**(int **)(pcVar28 + 0x1cc778)" (* "*") (pointer_expression "*(int **)(pcVar28 + 0x1cc778)" (* "*") (cast_expression "(int **)(pcVar28 + 0x1cc778)" (( "(") (type_descriptor "int **" (primitive_type "int") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc778)" (( "(") (binary_expression "pcVar28 + 0x1cc778" (identifier "pcVar28") (+ "+") (number_literal "0x1cc778")) () ")"))))) (+ "+") (number_literal "0xc")) () ")"))))) (+ "+") (number_literal "0x50")) () ")"))))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (goto_statement "goto LAB_002f532c;" (goto "goto") (statement_identifier "LAB_002f532c") (; ";")) (} "}"))) (expression_statement "iVar2 = 0x69;" (assignment_expression "iVar2 = 0x69" (identifier "iVar2") (= "=") (number_literal "0x69")) (; ";")) (expression_statement "pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);" (assignment_expression "pcVar27 = *(code **)(pcVar28 + 0x1cc7f4)" (identifier "pcVar27") (= "=") (pointer_expression "*(code **)(pcVar28 + 0x1cc7f4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1cc7f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc7f4)" (( "(") (binary_expression "pcVar28 + 0x1cc7f4" (identifier "pcVar28") (+ "+") (number_literal "0x1cc7f4")) () ")"))))) (; ";")) (expression_statement "puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);" (assignment_expression "puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" (identifier "puVar15") (= "=") (cast_expression "(undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc6e0)" (( "(") (binary_expression "pcVar28 + 0x1cc6e0" (identifier "pcVar28") (+ "+") (number_literal "0x1cc6e0")) () ")")))) (+ "+") (number_literal "0x77c4")) () ")")))) (; ";")) (expression_statement "piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);" (assignment_expression "piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" (identifier "piVar11") (= "=") (cast_expression "(int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(pcVar28 + 0x1cc040) + -0x9b8)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1cc040) + -0x9b8" (pointer_expression "*(int *)(pcVar28 + 0x1cc040)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1cc040)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc040)" (( "(") (binary_expression "pcVar28 + 0x1cc040" (identifier "pcVar28") (+ "+") (number_literal "0x1cc040")) () ")")))) (+ "+") (number_literal "-0x9b8")) () ")")))) (; ";")) (expression_statement "(*pcVar27)();" (call_expression "(*pcVar27)()" (parenthesized_expression "(*pcVar27)" (( "(") (pointer_expression "*pcVar27" (* "*") (identifier "pcVar27")) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar8 = piVar11[1];" (assignment_expression "iVar8 = piVar11[1]" (identifier "iVar8") (= "=") (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "iVar6 = *piVar11;" (assignment_expression "iVar6 = *piVar11" (identifier "iVar6") (= "=") (pointer_expression "*piVar11" (* "*") (identifier "piVar11"))) (; ";")) (expression_statement "iVar22 = iVar2 - iVar6;" (assignment_expression "iVar22 = iVar2 - iVar6" (identifier "iVar22") (= "=") (binary_expression "iVar2 - iVar6" (identifier "iVar2") (- "-") (identifier "iVar6"))) (; ";")) (expression_statement "uVar7 = iVar8 - iVar6 >> 2;" (assignment_expression "uVar7 = iVar8 - iVar6 >> 2" (identifier "uVar7") (= "=") (binary_expression "iVar8 - iVar6 >> 2" (binary_expression "iVar8 - iVar6" (identifier "iVar8") (- "-") (identifier "iVar6")) (>> ">>") (number_literal "2"))) (; ";")) (if_statement "if (uVar7 == 0) {\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }\n      else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar20 = 1;\nLAB_002f558c:\n        iVar10 = uVar20 << 2;\nLAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);\n        iVar10 = iVar4 + iVar10;\n      }" ({ "{") (expression_statement "uVar20 = 1;" (assignment_expression "uVar20 = 1" (identifier "uVar20") (= "=") (number_literal "1")) (; ";")) (labeled_statement "LAB_002f558c:\n        iVar10 = uVar20 << 2;" (statement_identifier "LAB_002f558c") (: ":") (expression_statement "iVar10 = uVar20 << 2;" (assignment_expression "iVar10 = uVar20 << 2" (identifier "iVar10") (= "=") (binary_expression "uVar20 << 2" (identifier "uVar20") (<< "<<") (number_literal "2"))) (; ";"))) (labeled_statement "LAB_002f5460:\n        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);" (statement_identifier "LAB_002f5460") (: ":") (expression_statement "iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);" (assignment_expression "iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10)" (identifier "iVar4") (= "=") (call_expression "(**(code **)(pcVar27 + 0x1cbfbc))(iVar10)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cbfbc))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x1cbfbc)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x1cbfbc)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1cbfbc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cbfbc)" (( "(") (binary_expression "pcVar27 + 0x1cbfbc" (identifier "pcVar27") (+ "+") (number_literal "0x1cbfbc")) () ")"))))) () ")")) (argument_list "(iVar10)" (( "(") (identifier "iVar10") () ")")))) (; ";"))) (expression_statement "iVar10 = iVar4 + iVar10;" (assignment_expression "iVar10 = iVar4 + iVar10" (identifier "iVar10") (= "=") (binary_expression "iVar4 + iVar10" (identifier "iVar4") (+ "+") (identifier "iVar10"))) (; ";")) (} "}")) (else_clause "else {\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" (else "else") (compound_statement "{\n        uVar20 = uVar7 << 1;\n        if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }\n        iVar10 = -4;\n        if (0x3fffffff < uVar20) goto LAB_002f5460;\n        iVar4 = 0;\n        if (uVar20 != 0) goto LAB_002f558c;\n        iVar10 = 0;\n      }" ({ "{") (expression_statement "uVar20 = uVar7 << 1;" (assignment_expression "uVar20 = uVar7 << 1" (identifier "uVar20") (= "=") (binary_expression "uVar7 << 1" (identifier "uVar7") (<< "<<") (number_literal "1"))) (; ";")) (if_statement "if (uVar20 < uVar7) {\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }" (if "if") (parenthesized_expression "(uVar20 < uVar7)" (( "(") (binary_expression "uVar20 < uVar7" (identifier "uVar20") (< "<") (identifier "uVar7")) () ")")) (compound_statement "{\n          iVar10 = -4;\n          goto LAB_002f5460;\n        }" ({ "{") (expression_statement "iVar10 = -4;" (assignment_expression "iVar10 = -4" (identifier "iVar10") (= "=") (number_literal "-4")) (; ";")) (goto_statement "goto LAB_002f5460;" (goto "goto") (statement_identifier "LAB_002f5460") (; ";")) (} "}"))) (expression_statement "iVar10 = -4;" (assignment_expression "iVar10 = -4" (identifier "iVar10") (= "=") (number_literal "-4")) (; ";")) (if_statement "if (0x3fffffff < uVar20) goto LAB_002f5460;" (if "if") (parenthesized_expression "(0x3fffffff < uVar20)" (( "(") (binary_expression "0x3fffffff < uVar20" (number_literal "0x3fffffff") (< "<") (identifier "uVar20")) () ")")) (goto_statement "goto LAB_002f5460;" (goto "goto") (statement_identifier "LAB_002f5460") (; ";"))) (expression_statement "iVar4 = 0;" (assignment_expression "iVar4 = 0" (identifier "iVar4") (= "=") (number_literal "0")) (; ";")) (if_statement "if (uVar20 != 0) goto LAB_002f558c;" (if "if") (parenthesized_expression "(uVar20 != 0)" (( "(") (binary_expression "uVar20 != 0" (identifier "uVar20") (!= "!=") (number_literal "0")) () ")")) (goto_statement "goto LAB_002f558c;" (goto "goto") (statement_identifier "LAB_002f558c") (; ";"))) (expression_statement "iVar10 = 0;" (assignment_expression "iVar10 = 0" (identifier "iVar10") (= "=") (number_literal "0")) (; ";")) (} "}")))) (expression_statement "iVar21 = iVar4 + iVar22 + 4;" (assignment_expression "iVar21 = iVar4 + iVar22 + 4" (identifier "iVar21") (= "=") (binary_expression "iVar4 + iVar22 + 4" (binary_expression "iVar4 + iVar22" (identifier "iVar4") (+ "+") (identifier "iVar22")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "*(undefined4 *)(iVar4 + iVar22) = *puVar15;" (assignment_expression "*(undefined4 *)(iVar4 + iVar22) = *puVar15" (pointer_expression "*(undefined4 *)(iVar4 + iVar22)" (* "*") (cast_expression "(undefined4 *)(iVar4 + iVar22)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar4 + iVar22)" (( "(") (binary_expression "iVar4 + iVar22" (identifier "iVar4") (+ "+") (identifier "iVar22")) () ")")))) (= "=") (pointer_expression "*puVar15" (* "*") (identifier "puVar15"))) (; ";")) (expression_statement "iVar29 = iVar21 + (iVar8 - iVar2);" (assignment_expression "iVar29 = iVar21 + (iVar8 - iVar2)" (identifier "iVar29") (= "=") (binary_expression "iVar21 + (iVar8 - iVar2)" (identifier "iVar21") (+ "+") (parenthesized_expression "(iVar8 - iVar2)" (( "(") (binary_expression "iVar8 - iVar2" (identifier "iVar8") (- "-") (identifier "iVar2")) () ")")))) (; ";")) (if_statement "if (iVar6 == iVar2) {\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }\n      else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" (if "if") (parenthesized_expression "(iVar6 == iVar2)" (( "(") (binary_expression "iVar6 == iVar2" (identifier "iVar6") (== "==") (identifier "iVar2")) () ")")) (compound_statement "{\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\n        if (iVar8 != iVar6) goto LAB_002f54c0;\n      }" ({ "{") (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1d07bc);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1d07bc)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcVar27 + 0x1d07bc)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1d07bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1d07bc)" (( "(") (binary_expression "pcVar27 + 0x1d07bc" (identifier "pcVar27") (+ "+") (number_literal "0x1d07bc")) () ")"))))) (; ";")) (if_statement "if (iVar8 != iVar6) goto LAB_002f54c0;" (if "if") (parenthesized_expression "(iVar8 != iVar6)" (( "(") (binary_expression "iVar8 != iVar6" (identifier "iVar8") (!= "!=") (identifier "iVar6")) () ")")) (goto_statement "goto LAB_002f54c0;" (goto "goto") (statement_identifier "LAB_002f54c0") (; ";"))) (} "}")) (else_clause "else {\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" (else "else") (compound_statement "{\n        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);\n        if (iVar8 == iVar2) goto LAB_002f5514;\n        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);\nLAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);\n      }" ({ "{") (expression_statement "(**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);" (call_expression "(**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1d070c))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x1d070c)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x1d070c)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1d070c)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1d070c)" (( "(") (binary_expression "pcVar27 + 0x1d070c" (identifier "pcVar27") (+ "+") (number_literal "0x1d070c")) () ")"))))) () ")")) (argument_list "(iVar4,iVar6,iVar22)" (( "(") (identifier "iVar4") (, ",") (identifier "iVar6") (, ",") (identifier "iVar22") () ")"))) (; ";")) (if_statement "if (iVar8 == iVar2) goto LAB_002f5514;" (if "if") (parenthesized_expression "(iVar8 == iVar2)" (( "(") (binary_expression "iVar8 == iVar2" (identifier "iVar8") (== "==") (identifier "iVar2")) () ")")) (goto_statement "goto LAB_002f5514;" (goto "goto") (statement_identifier "LAB_002f5514") (; ";"))) (expression_statement "pcVar28 = *(code **)(pcVar27 + 0x1d07bc);" (assignment_expression "pcVar28 = *(code **)(pcVar27 + 0x1d07bc)" (identifier "pcVar28") (= "=") (pointer_expression "*(code **)(pcVar27 + 0x1d07bc)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1d07bc)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1d07bc)" (( "(") (binary_expression "pcVar27 + 0x1d07bc" (identifier "pcVar27") (+ "+") (number_literal "0x1d07bc")) () ")"))))) (; ";")) (labeled_statement "LAB_002f54c0:\n        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);" (statement_identifier "LAB_002f54c0") (: ":") (expression_statement "(*pcVar28)(iVar21,iVar2,iVar8 - iVar2);" (call_expression "(*pcVar28)(iVar21,iVar2,iVar8 - iVar2)" (parenthesized_expression "(*pcVar28)" (( "(") (pointer_expression "*pcVar28" (* "*") (identifier "pcVar28")) () ")")) (argument_list "(iVar21,iVar2,iVar8 - iVar2)" (( "(") (identifier "iVar21") (, ",") (identifier "iVar2") (, ",") (binary_expression "iVar8 - iVar2" (identifier "iVar8") (- "-") (identifier "iVar2")) () ")"))) (; ";"))) (} "}")))) (if_statement "if (iVar6 == 0) {\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }" (if "if") (parenthesized_expression "(iVar6 == 0)" (( "(") (binary_expression "iVar6 == 0" (identifier "iVar6") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        *piVar11 = iVar4;\n        piVar11[1] = iVar29;\n        piVar11[2] = iVar10;\n        return;\n      }" ({ "{") (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar11[1] = iVar29;" (assignment_expression "piVar11[1] = iVar29" (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar29")) (; ";")) (expression_statement "piVar11[2] = iVar10;" (assignment_expression "piVar11[2] = iVar10" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (labeled_statement "LAB_002f5514:\n      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);" (statement_identifier "LAB_002f5514") (: ":") (expression_statement "(**(code **)(pcVar27 + 0x1cbf10))(iVar6);" (call_expression "(**(code **)(pcVar27 + 0x1cbf10))(iVar6)" (parenthesized_expression "(**(code **)(pcVar27 + 0x1cbf10))" (( "(") (pointer_expression "**(code **)(pcVar27 + 0x1cbf10)" (* "*") (pointer_expression "*(code **)(pcVar27 + 0x1cbf10)" (* "*") (cast_expression "(code **)(pcVar27 + 0x1cbf10)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar27 + 0x1cbf10)" (( "(") (binary_expression "pcVar27 + 0x1cbf10" (identifier "pcVar27") (+ "+") (number_literal "0x1cbf10")) () ")"))))) () ")")) (argument_list "(iVar6)" (( "(") (identifier "iVar6") () ")"))) (; ";"))) (expression_statement "*piVar11 = iVar4;" (assignment_expression "*piVar11 = iVar4" (pointer_expression "*piVar11" (* "*") (identifier "piVar11")) (= "=") (identifier "iVar4")) (; ";")) (expression_statement "piVar11[1] = iVar29;" (assignment_expression "piVar11[1] = iVar29" (subscript_expression "piVar11[1]" (identifier "piVar11") ([ "[") (number_literal "1") (] "]")) (= "=") (identifier "iVar29")) (; ";")) (expression_statement "piVar11[2] = iVar10;" (assignment_expression "piVar11[2] = iVar10" (subscript_expression "piVar11[2]" (identifier "piVar11") ([ "[") (number_literal "2") (] "]")) (= "=") (identifier "iVar10")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (uVar7 == 0) goto LAB_002f532c;" (if "if") (parenthesized_expression "(uVar7 == 0)" (( "(") (binary_expression "uVar7 == 0" (identifier "uVar7") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_002f532c;" (goto "goto") (statement_identifier "LAB_002f532c") (; ";"))) (expression_statement "uVar13 = 0x11d;" (assignment_expression "uVar13 = 0x11d" (identifier "uVar13") (= "=") (number_literal "0x11d")) (; ";")) (} "}")))) (labeled_statement "LAB_002f529c:\n  (**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);" (statement_identifier "LAB_002f529c") (: ":") (expression_statement "(**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);" (call_expression "(**(code **)(pcVar28 + 0x1cc7f4))\n            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768)" (parenthesized_expression "(**(code **)(pcVar28 + 0x1cc7f4))" (( "(") (pointer_expression "**(code **)(pcVar28 + 0x1cc7f4)" (* "*") (pointer_expression "*(code **)(pcVar28 + 0x1cc7f4)" (* "*") (cast_expression "(code **)(pcVar28 + 0x1cc7f4)" (( "(") (type_descriptor "code **" (type_identifier "code") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc7f4)" (( "(") (binary_expression "pcVar28 + 0x1cc7f4" (identifier "pcVar28") (+ "+") (number_literal "0x1cc7f4")) () ")"))))) () ")")) (argument_list "(*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768)" (( "(") (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc6e0)" (( "(") (binary_expression "pcVar28 + 0x1cc6e0" (identifier "pcVar28") (+ "+") (number_literal "0x1cc6e0")) () ")")))) (+ "+") (number_literal "0x75a4")) (, ",") (identifier "uVar13") (, ",") (binary_expression "*(int *)(pcVar28 + 0x1cc6e0) + 0x7768" (pointer_expression "*(int *)(pcVar28 + 0x1cc6e0)" (* "*") (cast_expression "(int *)(pcVar28 + 0x1cc6e0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pcVar28 + 0x1cc6e0)" (( "(") (binary_expression "pcVar28 + 0x1cc6e0" (identifier "pcVar28") (+ "+") (number_literal "0x1cc6e0")) () ")")))) (+ "+") (number_literal "0x7768")) () ")"))) (; ";"))) (goto_statement "goto LAB_002f52c4;" (goto "goto") (statement_identifier "LAB_002f52c4") (; ";")) (ERROR "}" (} "}"))

/* WARNING: Struct "Output_section": ignoring overlapping field "name_" */
/* WARNING: Struct "Output_section_data": ignoring overlapping field "output_section_" */
/* DWARF original name: get_fde_addresses<32, false>
   DWARF original prototype: void get_fde_addresses<32,_false>(Eh_frame_hdr * this, Output_file *
   of, Fde_offsets * fde_offsets, Fde_addresses<32> * fde_addresses) */

void __thiscall
gold::type_6::get_fde_addresses<32,var_16>
          (type_6 *this,type_5 *of,Fde_offsets *fde_offsets,
          var_1<32> *fde_addresses)

{
  int var_7;
  var_1<32> *var_9;
  type_1 *var_39;
  type_2 var_43;
  int var_47;
  type_3 *pOVar6;
  type_4 var_23;
  int var_26;
  type_5 *pOVar8;
  type_6 *this_00;
  int *var_30;
  type_1 *var_40;
  type_1 uVar11;
  size_t var_28;
  type_5 *var_10;
  type_7 *puVar13;
  type_1 *var_37;
  type_1 uVar15;
  var_1<32> *var_8;
  type_1 uVar17;
  type_8 var_14;
  type_8 var_19;
  type_4 var_44;
  char cVar23;
  int *var_33;
  int var_50;
  type_9 var_18;
  type_9 var_32;
  int var_45;
  type_10 *var_17;
  type_1 *var_41;
  type_4 var_27;
  type_1 *var_38;
  int var_48;
  int var_46;
  int var_49;
  type_7 *var_25;
  type_11 *var_29;
  type_11 *var_36;
  int iVar35;
  type_2 var_42;
  type_1 in_stack_ffffff48;
  type_1 in_stack_ffffff4c;
  type_9 EStack_a8;
  int iStack_a4;
  type_4 uStack_a0;
  type_9 EStack_9c;
  type_4 var_22;
  type_1 in_stack_ffffffc4;
  type_9 local_30;
  int local_2c;
  
  var_25 = var_2<var_3<var_4,var_24>var_5>var_6;
  pOVar6 = this->eh_frame_section_;
  var_7 = *(int *)&(pOVar6->super_Output_data).field_0x20;
  var_8 = fde_addresses;
  if (var_7 < 0) {
    var_18 = (type_9)(pOVar6->super_Output_data).address_;
    if (var_7 << 2 < 0) {
      pOVar8 = *(type_5 **)((int)&(pOVar6->super_Output_data).offset_ + 4);
      var_10 = *(type_5 **)&(pOVar6->super_Output_data).offset_;
      if (var_7 << 1 < 0) {
        var_9 = *(var_1<32> **)((int)&(pOVar6->super_Output_data).data_size_ + 4);
        if (-1 < (int)var_10) {
          var_8 = (var_1<32> *)((int)&pOVar8->name_ + (int)&var_9->fde_addresses_);
          var_7 = (int)&var_10->name_ + (type_4)(var_8 < var_9);
          var_10 = (type_5 *)(type_4)(*(int *)&of->file_size_ < var_7);
          if ((var_10 == (type_5 *)0x0) &&
             ((*(int *)&of->file_size_ != var_7 ||
              (var_8 = (var_1<32> *)
                         (type_4)(*(var_1<32> **)((int)&of->file_size_ + 4) < var_8),
              var_8 == (var_1<32> *)0x0)))) {
            var_17 = of->base_;
            var_14 = (fde_offsets->
                      super__Vector_base<std::var_11<var_12,var_13>,_std::allocator<std::var_11<var_12,var_13>var_5>var_5>
                      )._M_impl._M_start;
            if (var_14 !=
                (fde_offsets->
                super__Vector_base<std::var_11<var_12,var_13>,_std::allocator<std::var_11<var_12,var_13>var_5>var_5>
                )._M_impl._M_finish) {
              do {
                var_19 = var_14 + 1;
                local_30 = var_15<32,var_16>
                                     (this,var_18,var_17 + (int)pOVar8,var_14->first,
                                      var_14->second);
                local_2c = var_18 + var_14->first;
                (*(type_11 *)var_25)(fde_addresses,&local_30);
                var_14 = var_19;
              } while ((fde_offsets->
                       super__Vector_base<std::var_11<var_12,var_13>,_std::allocator<std::var_11<var_12,var_13>var_5>var_5>
                       )._M_impl._M_finish != var_19);
            }
            return;
          }
        }
        type_5::var_34
                  (pOVar8,var_35(var_22,in_stack_ffffffc4),(size_t)of,var_10);
      }
      (*(type_11 *)PTR_do_gold_unreachable_004c1a30)
                (var_20 + 0x3574,0xcf,
                 var_21 + 0x77e8);
    }
    (*(type_11 *)PTR_do_gold_unreachable_004c1a30)
              (var_20 + 0x3574,0xe3,
               var_21 + 0x77f4);
  }
  var_7 = 0xc5;
  puVar13 = var_21 + 0x77bc;
  var_25 = PTR_do_gold_unreachable_004c1a30;
  (*(type_11 *)PTR_do_gold_unreachable_004c1a30)(var_20 + 0x3574);
  cVar23 = (char)var_22;
  var_44 = var_22 & 0xff;
  var_23 = var_22 & 7;
  if (((var_22 & 7) == 0) || (var_23 == 3)) {
    var_18 = *(type_9 *)
                (puVar13 +
                (int)&(var_8->fde_addresses_).
                      super__Vector_base<std::var_11<var_4,var_24>,_std::allocator<std::var_11<var_4,var_24>var_5>var_5>
                      ._M_impl._M_end_of_storage);
  }
  else {
    if (var_23 == 4) {
      uVar11 = 0x104;
      goto LAB_002f4d08;
    }
    if (var_23 != 2) {
      uVar11 = 0x10a;
      goto LAB_002f4d08;
    }
    var_18 = (type_9)
               *(type_12 *)
                (puVar13 +
                (int)&(var_8->fde_addresses_).
                      super__Vector_base<std::var_11<var_4,var_24>,_std::allocator<std::var_11<var_4,var_24>var_5>var_5>
                      ._M_impl._M_end_of_storage);
    if ((var_22 & 8) != 0) {
      var_18 = (var_18 ^ 0x8000) - 0x8000;
    }
  }
  if ((var_22 & 0x70) == 0x10) {
    var_18 = (int)&(var_8->fde_addresses_).
                     super__Vector_base<std::var_11<var_4,var_24>,_std::allocator<std::var_11<var_4,var_24>var_5>var_5>
                     ._M_impl._M_end_of_storage + var_18 + var_7;
  }
  else {
    if ((var_22 & 0x70) == 0x30) goto LAB_002f4d20;
    if ((var_22 & 0x70) != 0) {
      uVar11 = 0x11d;
      goto LAB_002f4d08;
    }
  }
  while( true ) {
    var_44 = (type_4)cVar23;
    uVar11 = 0x120;
    if (-1 < (int)var_44) {
      return;
    }
LAB_002f4d08:
    (**(type_11 **)(var_25 + 0x1ccdf0))
              (*(int *)(var_25 + 0x1cccdc) + 0x75a4,uVar11,*(int *)(var_25 + 0x1cccdc) + 0x77a0);
LAB_002f4d20:
    var_29 = *(type_11 **)(var_25 + 0x1ccdf0);
    if (*(int **)(**(int **)(var_25 + 0x1ccd74) + 0xc) == (int *)0x0) break;
    cVar23 = (char)var_44;
    (**(type_11 **)(**(int **)(**(int **)(var_25 + 0x1ccd74) + 0xc) + 0x50))();
    var_18 = var_18 + var_26;
  }
  var_28 = 0x69;
  var_37 = (type_1 *)(*(int *)(var_25 + 0x1cccdc) + 0x77c4);
  this_00 = (type_6 *)(*(int *)(var_25 + 0x1cc63c) + -0x9b8);
  (*var_29)();
  pOVar6 = this_00->eh_frame_section_;
  var_7 = *(int *)&(pOVar6->super_Output_data).field_0x20;
  uStack_a0 = var_44;
  EStack_9c = var_18;
  if (var_7 < 0) {
    var_32 = (type_9)(pOVar6->super_Output_data).address_;
    if (var_7 << 2 < 0) {
      pOVar8 = *(type_5 **)((int)&(pOVar6->super_Output_data).offset_ + 4);
      var_10 = *(type_5 **)&(pOVar6->super_Output_data).offset_;
      if (var_7 << 1 < 0) {
        var_23 = (type_4)(pOVar6->super_Output_data).data_size_;
        if (-1 < (int)var_10) {
          var_27 = (int)&pOVar8->name_ + var_23;
          var_7 = (int)&var_10->name_ + (type_4)(var_27 < var_23);
          var_10 = (type_5 *)(type_4)(*(int *)(var_28 + 8) < var_7);
          if ((var_10 == (type_5 *)0x0) &&
             ((*(int *)(var_28 + 8) != var_7 || (var_27 <= *(type_4 *)(var_28 + 0xc))))) {
            var_7 = *(int *)(var_28 + 0x10);
            if ((int *)*var_37 != (int *)var_37[1]) {
              var_29 = *(type_11 **)(var_29 + 0x1ced0c);
              var_30 = (int *)*var_37;
              do {
                var_33 = var_30 + 2;
                EStack_a8 = var_15<32,var_31>
                                      (this_00,var_32,
                                       (type_10 *)((int)&pOVar8->name_ + var_7),*var_30,
                                       *(type_10 *)(var_30 + 1));
                iStack_a4 = var_32 + *var_30;
                (*var_29)(var_8,&EStack_a8);
                var_30 = var_33;
              } while ((int *)var_37[1] != var_33);
            }
            return;
          }
        }
        Output_file::var_34
                  (pOVar8,var_35(in_stack_ffffff48,in_stack_ffffff4c),var_28,var_10);
      }
      (**(type_11 **)(var_29 + 0x1cccb8))
                (*(int *)(var_29 + 0x1cc504) + 0x3574,0xcf,*(int *)(var_29 + 0x1ccba4) + 0x77e8);
    }
    (**(type_11 **)(var_29 + 0x1cccb8))
              (*(int *)(var_29 + 0x1cc504) + 0x3574,0xe3,*(int *)(var_29 + 0x1ccba4) + 0x77f4);
  }
  var_23 = 0xc5;
  var_36 = *(type_11 **)(var_29 + 0x1cccb8);
  var_30 = (int *)(*(int *)(var_29 + 0x1cc504) + 0x3574);
  (*var_36)(var_30,0xc5,*(int *)(var_29 + 0x1ccba4) + 0x77bc);
  if (var_23 < 0x10000000) {
    var_37 = (type_1 *)*var_30;
    if (var_23 <= (type_4)(var_30[2] - (int)var_37 >> 4)) {
      return;
    }
    var_38 = (type_1 *)var_30[1];
    var_7 = (int)var_38 - (int)var_37;
    if (var_23 == 0) {
      var_39 = (type_1 *)0x0;
      var_41 = var_39;
      var_40 = var_37;
    }
    else {
      var_39 = (type_1 *)(**(type_11 **)(var_36 + 0x1cc480))(var_23 * 0x10);
      var_41 = var_39;
      var_40 = (type_1 *)*var_30;
    }
    for (; var_37 != var_38; var_37 = var_37 + 4) {
      uVar17 = var_37[1];
      uVar15 = var_37[2];
      uVar11 = var_37[3];
      *var_39 = *var_37;
      var_39[1] = uVar17;
      var_39[2] = uVar15;
      var_39[3] = uVar11;
      var_39 = var_39 + 4;
    }
    if (var_40 != (type_1 *)0x0) {
      (**(type_11 **)(var_36 + 0x1cc3d4))();
    }
    *var_30 = (int)var_41;
    var_30[1] = (int)var_41 + var_7;
    var_30[2] = (int)(var_41 + var_23 * 4);
    return;
  }
  var_29 = *(type_11 **)(var_36 + 0x1ccf4c);
  (*var_29)(*(int *)(var_36 + 0x1ccb28) + -0xda4);
  var_43 = var_42 & 7;
  if (((((var_42 & 7) != 0) && (var_43 != 3)) && (var_43 != 4)) && (var_43 != 2)) {
    uVar11 = 0x10a;
    goto LAB_002f50d0;
  }
  do {
    if ((var_42 & 0x70) == 0x10) {
LAB_002f516c:
      uVar11 = 0x120;
      if (-1 < (char)var_42) {
        return;
      }
    }
    else {
      if ((var_42 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(var_29 + 0x1cc948) + 0xc) != (int *)0x0) {
          (**(type_11 **)(**(int **)(**(int **)(var_29 + 0x1cc948) + 0xc) + 0x50))();
          goto LAB_002f516c;
        }
        var_36 = *(type_11 **)(var_29 + 0x1cc9c4);
        (*var_36)(*(int *)(var_29 + 0x1cc210) + -0x9b8,0x69,*(int *)(var_29 + 0x1cc8b0) + 0x77c4)
        ;
        var_27 = var_44 & 0xff;
        var_23 = var_44 & 7;
        if ((((var_44 & 7) != 0) && (var_23 != 3)) && ((var_23 != 4 && (uVar11 = 0x10a, var_23 != 2))))
        goto LAB_002f529c;
        break;
      }
      if ((var_42 & 0x70) == 0) goto LAB_002f516c;
      uVar11 = 0x11d;
    }
LAB_002f50d0:
    (**(type_11 **)(var_29 + 0x1cc9c4))
              (*(int *)(var_29 + 0x1cc8b0) + 0x75a4,uVar11,*(int *)(var_29 + 0x1cc8b0) + 0x7784);
  } while( true );
LAB_002f52c4:
  var_23 = var_27 & 0x70;
  if (var_23 == 0x10) {
LAB_002f532c:
    var_27 = (type_4)(char)var_27;
    uVar11 = 0x120;
    if (-1 < (int)var_27) {
      return;
    }
  }
  else {
    if (var_23 == 0x30) {
      if (*(int **)(**(int **)(var_36 + 0x1cc778) + 0xc) != (int *)0x0) {
        (**(type_11 **)(**(int **)(**(int **)(var_36 + 0x1cc778) + 0xc) + 0x50))();
        goto LAB_002f532c;
      }
      var_7 = 0x69;
      var_29 = *(type_11 **)(var_36 + 0x1cc7f4);
      var_37 = (type_1 *)(*(int *)(var_36 + 0x1cc6e0) + 0x77c4);
      var_30 = (int *)(*(int *)(var_36 + 0x1cc040) + -0x9b8);
      (*var_29)();
      var_46 = var_30[1];
      var_45 = *var_30;
      var_49 = var_7 - var_45;
      var_23 = var_46 - var_45 >> 2;
      if (var_23 == 0) {
        var_44 = 1;
LAB_002f558c:
        var_48 = var_44 << 2;
LAB_002f5460:
        var_47 = (**(type_11 **)(var_29 + 0x1cbfbc))(var_48);
        var_48 = var_47 + var_48;
      }
      else {
        var_44 = var_23 << 1;
        if (var_44 < var_23) {
          var_48 = -4;
          goto LAB_002f5460;
        }
        var_48 = -4;
        if (0x3fffffff < var_44) goto LAB_002f5460;
        var_47 = 0;
        if (var_44 != 0) goto LAB_002f558c;
        var_48 = 0;
      }
      var_50 = var_47 + var_49 + 4;
      *(type_1 *)(var_47 + var_49) = *var_37;
      iVar35 = var_50 + (var_46 - var_7);
      if (var_45 == var_7) {
        var_36 = *(type_11 **)(var_29 + 0x1d07bc);
        if (var_46 != var_45) goto LAB_002f54c0;
      }
      else {
        (**(type_11 **)(var_29 + 0x1d070c))(var_47,var_45,var_49);
        if (var_46 == var_7) goto LAB_002f5514;
        var_36 = *(type_11 **)(var_29 + 0x1d07bc);
LAB_002f54c0:
        (*var_36)(var_50,var_7,var_46 - var_7);
      }
      if (var_45 == 0) {
        *var_30 = var_47;
        var_30[1] = iVar35;
        var_30[2] = var_48;
        return;
      }
LAB_002f5514:
      (**(type_11 **)(var_29 + 0x1cbf10))(var_45);
      *var_30 = var_47;
      var_30[1] = iVar35;
      var_30[2] = var_48;
      return;
    }
    if (var_23 == 0) goto LAB_002f532c;
    uVar11 = 0x11d;
  }
LAB_002f529c:
  (**(type_11 **)(var_36 + 0x1cc7f4))
            (*(int *)(var_36 + 0x1cc6e0) + 0x75a4,uVar11,*(int *)(var_36 + 0x1cc6e0) + 0x7768);
  goto LAB_002f52c4;
}


(translation_unit (declaration type: (primitive_type) declarator: (ms_call_modifier) (ERROR (identifier) (identifier)) declarator: (identifier) (ERROR (number_literal)) (ERROR (function_declarator declarator: (identifier) (ERROR) parameters: (parameter_list (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))))) (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: (primitive_type) 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: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) 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: (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: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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: (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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (update_expression argument: (binary_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (identifier))) (ERROR (identifier)) right: (identifier)) operator: (MISSING "--"))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (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: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) consequence: (compound_statement (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 declarator: (abstract_pointer_declarator))) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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 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)))))))) (if_statement condition: (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: (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: (identifier)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (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: (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))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator declarator: (abstract_pointer_declarator))) value: (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))))))) 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 declarator: (abstract_pointer_declarator))) value: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (false) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (pointer_expression argument: (identifier))))))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (pointer_expression argument: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_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)))))) (return_statement))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)) (number_literal) (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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)) 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_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: (parenthesized_expression (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: (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: (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))))))))))) (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: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (identifier)) right: (number_literal)))))))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (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: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier))))))) (while_statement condition: (parenthesized_expression (true)) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))))) (expression_statement (assignment_expression left: (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: (compound_statement (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier) (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator 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 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (break_statement)) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)))) (expression_statement (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: (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: (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: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier)))))) (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: (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: (primitive_type) 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: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) 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: (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: (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: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (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))))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (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: (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: (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: (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: (identifier)) right: (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)))))))))))) 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: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (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: (identifier) right: (number_literal))))))) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (comma_expression left: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) right: (binary_expression left: (true) right: (parenthesized_expression (comma_expression left: (identifier) right: (comma_expression left: (identifier) right: (comma_expression left: (binary_expression left: (identifier) right: (identifier)) right: (comma_expression left: (pointer_expression argument: (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: (identifier))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (pointer_expression argument: (identifier))))) (expression_statement (assignment_expression left: (identifier) right: (identifier)))) condition: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (subscript_expression argument: (identifier) index: (number_literal))) right: (identifier)))))) (return_statement))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (number_literal) (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 (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (number_literal) (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: (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (number_literal) (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: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (pointer_expression argument: (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier))) right: (number_literal)))))) consequence: (compound_statement (return_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))))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (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: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (binary_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: (identifier)))))))) (for_statement condition: (binary_expression left: (identifier) right: (identifier)) update: (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))) body: (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: (pointer_expression argument: (identifier)) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) 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: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list))))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (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: (subscript_expression argument: (identifier) index: (number_literal)) right: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (binary_expression left: (identifier) right: (number_literal))))))) (return_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 (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (do_statement body: (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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (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: (compound_statement (return_statement)))) alternative: (else_clause (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 (if_statement condition: (parenthesized_expression (binary_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: (pointer_expression argument: (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: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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: (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: (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: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list))) (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))))))) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (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)) (number_literal) (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: (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: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (parenthesized_expression (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (number_literal)) right: (binary_expression left: (identifier) right: (number_literal))))))))) consequence: (goto_statement label: (statement_identifier))) (break_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier) (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))))))) condition: (parenthesized_expression (true))) (labeled_statement label: (statement_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 (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (cast_expression type: (type_descriptor type: (type_identifier)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)))))) (expression_statement (assignment_expression left: (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: (compound_statement (return_statement)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (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 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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) right: (number_literal))))) right: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (number_literal)))) consequence: (compound_statement (expression_statement (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: (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: (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: (number_literal)))))) right: (number_literal))))))) arguments: (argument_list))) (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: (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: (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: (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 (call_expression function: (parenthesized_expression (pointer_expression argument: (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: (pointer_expression argument: (identifier)))) (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: (identifier) right: (identifier)) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal))))) (labeled_statement label: (statement_identifier) (expression_statement (assignment_expression left: (identifier) right: (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (identifier))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (goto_statement label: (statement_identifier)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_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: (identifier) right: (number_literal)))))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (binary_expression left: (identifier) right: (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: (identifier))))) right: (pointer_expression argument: (identifier)))) (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (parenthesized_expression (binary_expression left: (identifier) right: (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (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: (identifier))) consequence: (goto_statement label: (statement_identifier)))) alternative: (else_clause (compound_statement (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier) (identifier) (identifier)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (identifier))) consequence: (goto_statement label: (statement_identifier))) (expression_statement (assignment_expression left: (identifier) right: (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))))))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (identifier))) arguments: (argument_list (identifier) (identifier) (binary_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: (identifier)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_statement))) (labeled_statement label: (statement_identifier) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (identifier))))) (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))) (expression_statement (assignment_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (identifier))) (return_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: (number_literal)))))) (labeled_statement label: (statement_identifier) (expression_statement (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: (identifier) right: (number_literal))))))) arguments: (argument_list (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)) (identifier) (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)))))) (goto_statement label: (statement_identifier)) (ERROR))

/* WARNING: Type propagation algorithm not settling */
/* void gold::Eh_frame_hdr::get_fde_addresses<32, false>(gold::Output_file*,
   std::vector<std::pair<int, unsigned char>, std::allocator<std::pair<int, unsigned char> > >
   const*, gold::Eh_frame_hdr::Fde_addresses<32>*) */

void __thiscall
gold::Eh_frame_hdr::MASKED
          (Eh_frame_hdr *this,Output_file *param_1,vector *param_2,Fde_addresses *param_3)

{
  undefined4 *puVar1;
  int iVar2;
  undefined4 *puVar3;
  byte bVar5;
  int iVar4;
  int iVar6;
  uint uVar7;
  int extraout_v1;
  int iVar8;
  Eh_frame_hdr *pEVar9;
  int iVar10;
  int *piVar11;
  undefined4 *puVar12;
  undefined4 uVar13;
  undefined *puVar14;
  undefined4 *puVar15;
  undefined4 uVar16;
  Fde_addresses *pFVar17;
  undefined4 uVar18;
  int *piVar19;
  uint uVar20;
  int iVar21;
  Fde_addresses *unaff_s1;
  int iVar22;
  undefined4 *puVar23;
  uint uVar24;
  undefined4 *puVar25;
  undefined *puVar26;
  code *pcVar27;
  code *pcVar28;
  int iVar29;
  byte bStackY_e5;
  undefined4 uStack_a8;
  int iStack_a4;
  uint uStack_a0;
  Fde_addresses *pFStack_9c;
  byte bStack_3d;
  undefined4 local_30;
  Fde_addresses *local_2c;
  
  puVar26 = PTR_emplace_back<std_pair<unsigned_int,unsigned_int>>_004c3a84;
  iVar6 = *(int *)(this + 0x30);
  iVar2 = *(int *)(iVar6 + 0x20);
  pFVar17 = param_3;
  if (iVar2 < 0) {
    unaff_s1 = *(Fde_addresses **)(iVar6 + 0xc);
    if (iVar2 << 2 < 0) {
      iVar8 = *(int *)(iVar6 + 0x1c);
      if (iVar2 << 1 < 0) {
        if (-1 < *(int *)(iVar6 + 0x18)) {
          pFVar17 = *(Fde_addresses **)(iVar6 + 0x14) + iVar8;
          iVar2 = (uint)(pFVar17 < *(Fde_addresses **)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);
          if ((iVar2 <= *(int *)(param_1 + 8)) &&
             ((*(int *)(param_1 + 8) != iVar2 ||
              (pFVar17 = (Fde_addresses *)(uint)(*(Fde_addresses **)(param_1 + 0xc) < pFVar17),
              pFVar17 == (Fde_addresses *)0x0)))) {
            iVar2 = *(int *)(param_1 + 0x10);
            if (*(int **)param_2 != *(int **)(param_2 + 4)) {
              piVar11 = *(int **)param_2;
              do {
                piVar19 = piVar11 + 2;
                local_30 = get_fde_pc<32,false>(this,unaff_s1,iVar2 + iVar8,*piVar11);
                local_2c = unaff_s1 + *piVar11;
                (*(code *)puVar26)(param_3,&local_30);
                piVar11 = piVar19;
              } while (*(int **)(param_2 + 4) != piVar19);
            }
            return;
          }
        }
        FUN_002f2158();
      }
      (*(code *)PTR_do_gold_unreachable_004c1a30)
                (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xcf,
                 PTR_s_in_a_linker_script_004c191c + 0x77e8);
    }
    (*(code *)PTR_do_gold_unreachable_004c1a30)
              (PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574,0xe3,
               PTR_s_in_a_linker_script_004c191c + 0x77f4);
  }
  iVar2 = 0xc5;
  puVar14 = PTR_s_in_a_linker_script_004c191c + 0x77bc;
  puVar26 = PTR_do_gold_unreachable_004c1a30;
  (*(code *)PTR_do_gold_unreachable_004c1a30)(PTR_s_ral_options14Struct_no_crefE_004c127c + 0x3574);
  uVar20 = (uint)bStack_3d;
  uVar7 = uVar20 & 7;
  if (((bStack_3d & 7) == 0) || (uVar7 == 3)) {
    unaff_s1 = *(Fde_addresses **)(puVar14 + (int)(pFVar17 + 8));
  }
  else {
    if (uVar7 == 4) {
      uVar13 = 0x104;
      goto LAB_002f4d08;
    }
    if (uVar7 != 2) {
      uVar13 = 0x10a;
      goto LAB_002f4d08;
    }
    unaff_s1 = (Fde_addresses *)(uint)*(ushort *)(puVar14 + (int)(pFVar17 + 8));
    if ((bStack_3d & 8) != 0) {
      unaff_s1 = (Fde_addresses *)(((uint)unaff_s1 ^ 0x8000) - 0x8000);
    }
  }
  if ((uVar20 & 0x70) == 0x10) {
    unaff_s1 = unaff_s1 + (int)(pFVar17 + iVar2 + 8);
  }
  else {
    if ((uVar20 & 0x70) == 0x30) goto LAB_002f4d20;
    if ((bStack_3d & 0x70) != 0) {
      uVar13 = 0x11d;
      goto LAB_002f4d08;
    }
  }
  while( true ) {
    uVar20 = (uint)(char)bStack_3d;
    uVar13 = 0x120;
    if (-1 < (int)uVar20) {
      return;
    }
LAB_002f4d08:
    (**(code **)(puVar26 + 0x1ccdf0))
              (*(int *)(puVar26 + 0x1cccdc) + 0x75a4,uVar13,*(int *)(puVar26 + 0x1cccdc) + 0x77a0);
LAB_002f4d20:
    pcVar27 = *(code **)(puVar26 + 0x1ccdf0);
    if (*(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) == (int *)0x0) break;
    bStack_3d = (byte)uVar20;
    (**(code **)(**(int **)(**(int **)(puVar26 + 0x1ccd74) + 0xc) + 0x50))();
    unaff_s1 = unaff_s1 + extraout_v1;
  }
  iVar8 = 0x69;
  puVar15 = (undefined4 *)(*(int *)(puVar26 + 0x1cccdc) + 0x77c4);
  pEVar9 = (Eh_frame_hdr *)(*(int *)(puVar26 + 0x1cc63c) + -0x9b8);
  (*pcVar27)();
  iVar6 = *(int *)(pEVar9 + 0x30);
  iVar2 = *(int *)(iVar6 + 0x20);
  uStack_a0 = uVar20;
  pFStack_9c = unaff_s1;
  if (iVar2 < 0) {
    iVar22 = *(int *)(iVar6 + 0xc);
    if (iVar2 << 2 < 0) {
      iVar10 = *(int *)(iVar6 + 0x1c);
      if (iVar2 << 1 < 0) {
        if (-1 < *(int *)(iVar6 + 0x18)) {
          uVar7 = *(uint *)(iVar6 + 0x14) + iVar10;
          iVar2 = (uint)(uVar7 < *(uint *)(iVar6 + 0x14)) + *(int *)(iVar6 + 0x18);
          if ((iVar2 <= *(int *)(iVar8 + 8)) &&
             ((*(int *)(iVar8 + 8) != iVar2 || (uVar7 <= *(uint *)(iVar8 + 0xc))))) {
            iVar2 = *(int *)(iVar8 + 0x10);
            if ((int *)*puVar15 != (int *)puVar15[1]) {
              pcVar27 = *(code **)(pcVar27 + 0x1ced0c);
              piVar11 = (int *)*puVar15;
              do {
                piVar19 = piVar11 + 2;
                uStack_a8 = get_fde_pc<32,true>(pEVar9,iVar22,iVar2 + iVar10,*piVar11,
                                                *(undefined1 *)(piVar11 + 1));
                iStack_a4 = iVar22 + *piVar11;
                (*pcVar27)(pFVar17,&uStack_a8);
                piVar11 = piVar19;
              } while ((int *)puVar15[1] != piVar19);
            }
            return;
          }
        }
        FUN_002f2158();
      }
      (**(code **)(pcVar27 + 0x1cccb8))
                (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xcf,*(int *)(pcVar27 + 0x1ccba4) + 0x77e8);
    }
    (**(code **)(pcVar27 + 0x1cccb8))
              (*(int *)(pcVar27 + 0x1cc504) + 0x3574,0xe3,*(int *)(pcVar27 + 0x1ccba4) + 0x77f4);
  }
  uVar7 = 0xc5;
  pcVar28 = *(code **)(pcVar27 + 0x1cccb8);
  piVar11 = (int *)(*(int *)(pcVar27 + 0x1cc504) + 0x3574);
  (*pcVar28)(piVar11,0xc5,*(int *)(pcVar27 + 0x1ccba4) + 0x77bc);
  if (uVar7 < 0x10000000) {
    puVar15 = (undefined4 *)*piVar11;
    if (uVar7 <= (uint)(piVar11[2] - (int)puVar15 >> 4)) {
      return;
    }
    puVar25 = (undefined4 *)piVar11[1];
    puVar1 = puVar15;
    if (uVar7 == 0) {
      puVar3 = (undefined4 *)0x0;
      puVar23 = puVar3;
      puVar12 = puVar15;
    }
    else {
      puVar3 = (undefined4 *)(**(code **)(pcVar28 + 0x1cc480))(uVar7 * 0x10);
      puVar23 = puVar3;
      puVar12 = (undefined4 *)*piVar11;
    }
    for (; puVar1 != puVar25; puVar1 = puVar1 + 4) {
      uVar18 = puVar1[1];
      uVar16 = puVar1[2];
      uVar13 = puVar1[3];
      *puVar3 = *puVar1;
      puVar3[1] = uVar18;
      puVar3[2] = uVar16;
      puVar3[3] = uVar13;
      puVar3 = puVar3 + 4;
    }
    if (puVar12 != (undefined4 *)0x0) {
      (**(code **)(pcVar28 + 0x1cc3d4))();
    }
    *piVar11 = (int)puVar23;
    piVar11[1] = (int)puVar25 + ((int)puVar23 - (int)puVar15);
    piVar11[2] = (int)((int)puVar23 + uVar7 * 0x10);
    return;
  }
  pcVar27 = *(code **)(pcVar28 + 0x1ccf4c);
  (*pcVar27)(*(int *)(pcVar28 + 0x1ccb28) + -0xda4);
  bVar5 = bStackY_e5 & 7;
  if (((((bStackY_e5 & 7) != 0) && (bVar5 != 3)) && (bVar5 != 4)) && (bVar5 != 2)) {
    uVar13 = 0x10a;
    goto LAB_002f50d0;
  }
  do {
    if ((bStackY_e5 & 0x70) == 0x10) {
LAB_002f516c:
      uVar13 = 0x120;
      if (-1 < (char)bStackY_e5) {
        return;
      }
    }
    else {
      if ((bStackY_e5 & 0x70) == 0x30) {
        if (*(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) != (int *)0x0) {
          (**(code **)(**(int **)(**(int **)(pcVar27 + 0x1cc948) + 0xc) + 0x50))();
          goto LAB_002f516c;
        }
        pcVar28 = *(code **)(pcVar27 + 0x1cc9c4);
        (*pcVar28)(*(int *)(pcVar27 + 0x1cc210) + -0x9b8,0x69,*(int *)(pcVar27 + 0x1cc8b0) + 0x77c4)
        ;
        uVar24 = uVar20 & 0xff;
        uVar7 = uVar20 & 7;
        if ((((uVar20 & 7) != 0) && (uVar7 != 3)) && ((uVar7 != 4 && (uVar13 = 0x10a, uVar7 != 2))))
        goto LAB_002f529c;
        break;
      }
      if ((bStackY_e5 & 0x70) == 0) goto LAB_002f516c;
      uVar13 = 0x11d;
    }
LAB_002f50d0:
    (**(code **)(pcVar27 + 0x1cc9c4))
              (*(int *)(pcVar27 + 0x1cc8b0) + 0x75a4,uVar13,*(int *)(pcVar27 + 0x1cc8b0) + 0x7784);
  } while( true );
LAB_002f52c4:
  uVar7 = uVar24 & 0x70;
  if (uVar7 == 0x10) {
LAB_002f532c:
    uVar24 = (uint)(char)uVar24;
    uVar13 = 0x120;
    if (-1 < (int)uVar24) {
      return;
    }
  }
  else {
    if (uVar7 == 0x30) {
      if (*(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) != (int *)0x0) {
        (**(code **)(**(int **)(**(int **)(pcVar28 + 0x1cc778) + 0xc) + 0x50))();
        goto LAB_002f532c;
      }
      iVar2 = 0x69;
      pcVar27 = *(code **)(pcVar28 + 0x1cc7f4);
      puVar15 = (undefined4 *)(*(int *)(pcVar28 + 0x1cc6e0) + 0x77c4);
      piVar11 = (int *)(*(int *)(pcVar28 + 0x1cc040) + -0x9b8);
      (*pcVar27)();
      iVar8 = piVar11[1];
      iVar6 = *piVar11;
      iVar22 = iVar2 - iVar6;
      uVar7 = iVar8 - iVar6 >> 2;
      if (uVar7 == 0) {
        uVar20 = 1;
LAB_002f558c:
        iVar10 = uVar20 << 2;
LAB_002f5460:
        iVar4 = (**(code **)(pcVar27 + 0x1cbfbc))(iVar10);
        iVar10 = iVar4 + iVar10;
      }
      else {
        uVar20 = uVar7 << 1;
        if (uVar20 < uVar7) {
          iVar10 = -4;
          goto LAB_002f5460;
        }
        iVar10 = -4;
        if (0x3fffffff < uVar20) goto LAB_002f5460;
        iVar4 = 0;
        if (uVar20 != 0) goto LAB_002f558c;
        iVar10 = 0;
      }
      iVar21 = iVar4 + iVar22 + 4;
      *(undefined4 *)(iVar4 + iVar22) = *puVar15;
      iVar29 = iVar21 + (iVar8 - iVar2);
      if (iVar6 == iVar2) {
        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);
        if (iVar8 != iVar6) goto LAB_002f54c0;
      }
      else {
        (**(code **)(pcVar27 + 0x1d070c))(iVar4,iVar6,iVar22);
        if (iVar8 == iVar2) goto LAB_002f5514;
        pcVar28 = *(code **)(pcVar27 + 0x1d07bc);
LAB_002f54c0:
        (*pcVar28)(iVar21,iVar2,iVar8 - iVar2);
      }
      if (iVar6 == 0) {
        *piVar11 = iVar4;
        piVar11[1] = iVar29;
        piVar11[2] = iVar10;
        return;
      }
LAB_002f5514:
      (**(code **)(pcVar27 + 0x1cbf10))(iVar6);
      *piVar11 = iVar4;
      piVar11[1] = iVar29;
      piVar11[2] = iVar10;
      return;
    }
    if (uVar7 == 0) goto LAB_002f532c;
    uVar13 = 0x11d;
  }
LAB_002f529c:
  (**(code **)(pcVar28 + 0x1cc7f4))
            (*(int *)(pcVar28 + 0x1cc6e0) + 0x75a4,uVar13,*(int *)(pcVar28 + 0x1cc6e0) + 0x7768);
  goto LAB_002f52c4;
}

